Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package twitter

    Start with com.twitter.finagle.

    Definition Classes
    com
  • package finagle

    Finagle is an extensible RPC system.

    Finagle is an extensible RPC system.

    Services are represented by class com.twitter.finagle.Service. Clients make use of com.twitter.finagle.Service objects while servers implement them.

    Finagle contains a number of protocol implementations; each of these implement Client and/or com.twitter.finagle.Server. For example, Finagle's HTTP implementation, com.twitter.finagle.Http (in package finagle-http), exposes both.

    Thus a simple HTTP server is built like this:

    import com.twitter.finagle.{Http, Service}
    import com.twitter.finagle.http.{Request, Response}
    import com.twitter.util.{Await, Future}
    
    val service = new Service[Request, Response] {
      def apply(req: Request): Future[Response] =
        Future.value(Response())
    }
    val server = Http.server.serve(":8080", service)
    Await.ready(server)

    We first define a service to which requests are dispatched. In this case, the service returns immediately with a HTTP 200 OK response, and with no content.

    This service is then served via the Http protocol on TCP port 8080. Finally we wait for the server to stop serving.

    We can now query our web server:

    % curl -D - localhost:8080
    HTTP/1.1 200 OK

    Building an HTTP client is also simple. (Note that type annotations are added for illustration.)

    import com.twitter.finagle.{Http, Service}
    import com.twitter.finagle.http.{Request, Response}
    import com.twitter.util.{Future, Return, Throw}
    
    val client: Service[Request, Response] = Http.client.newService("localhost:8080")
    val f: Future[Response] = client(Request()).respond {
      case Return(rep) =>
        printf("Got HTTP response %s\n", rep)
      case Throw(exc) =>
        printf("Got error %s\n", exc)
    }

    Http.client.newService("localhost:8080") constructs a new com.twitter.finagle.Service instance connected to localhost TCP port 8080. We then issue a HTTP/1.1 GET request to URI "/". The service returns a com.twitter.util.Future representing the result of the operation. We listen to this future, printing an appropriate message when the response arrives.

    The Finagle homepage contains useful documentation and resources for using Finagle.

    Definition Classes
    twitter
  • package addr
    Definition Classes
    finagle
  • package builder
    Definition Classes
    finagle
  • package client
    Definition Classes
    finagle
  • package context
    Definition Classes
    finagle
  • package core
    Definition Classes
    finagle
  • package dispatch
    Definition Classes
    finagle
  • package exp

    Package exp contains experimental code.

    Package exp contains experimental code. This can be removed or stabilized (moved elsewhere) at any time.

    Definition Classes
    finagle
  • package factory
    Definition Classes
    finagle
  • package filter
    Definition Classes
    finagle
  • package http
    Definition Classes
    finagle
  • package http2
    Definition Classes
    finagle
  • package liveness
    Definition Classes
    finagle
  • package loadbalancer

    This package implements client side load balancing algorithms.

    This package implements client side load balancing algorithms.

    As an end-user, see the Balancers API to create instances which can be used to configure a Finagle client with various load balancing strategies.

    As an implementor, each algorithm gets its own subdirectory and is exposed via the Balancers object. Several convenient traits are provided which factor out common behavior and can be mixed in (i.e. Balancer, DistributorT, NodeT, and Updating).

    Definition Classes
    finagle
  • package logging
    Definition Classes
    finagle
  • package memcached
    Definition Classes
    finagle
  • package mux

    Package mux implements a generic RPC multiplexer with a rich protocol.

    Package mux implements a generic RPC multiplexer with a rich protocol. Mux is itself encoding independent, so it is meant to use as the transport for other RPC systems (eg. thrift). In OSI terminology, it is a pure session layer.

    In the below description, all numeric values are unsigned and in big-endian byte order. The schema size:4 body:10 defines the field size to be 4 bytes, followed by 10 bytes of the field body. The schema key~4 defines the field key to be defined by 4 bytes interpreted as the size of the field, followed by that many bytes comprising the field itself--it is shorthand for keysize:4 key:keysize. Groups are denoted by parenthesis; * denotes repetition of the previous schema 0 or more times, while {n} indicates repetition exactly n times. Unspecified sizes consume the rest of the frame: they may be specified only as the last field in the message.

    All strings in Mux are Utf-8 encoded, and are never null-terminated.

    Message framing

    Messages in mux are framed with a 4-byte big-endian size header, followed by 1 byte describing the message type and a 3-byte tag; or, diagrammatically: size:4 type:1 tag:3. The remainder of the frame (size-4 bytes) contains the body. Its format depends on the message type, documented below.

    Tag 0 designates a "marker" T message that expects no reply. Some messages may be split into an ordered sequence of fragments. Tag MSB=0 denotes the last message in such a sequence, making the tag namespace 23 bits. The tag is otherwise arbitrary, and is chosen by the sender of the T message.

    Currently, only Tdispatch and Rdispatch messages may be split into an ordered sequence of fragments. TdispatchError message ends a Tdispatch sequence and an Rerr ends an Rdispatch sequence.

    Message types, interpreted as a two's complement, 1-byte integer are numbered as follows: positive numbers are T-messages; their negative complement is the corresponding R message. T-messages greater than 63 (correspondingly R-messages smaller than -63) are session messages. The message number -128 is reserved for Rerr. All other messages are application messages. Middle boxes may forward application messages indiscriminately. Because of an early implementation bug, two aliases exist: 127 is Rerr, and -62 is Tdiscarded.

    The protocol is full duplex: both the server and client may send T messages initiating an exchange.

    Exchanges

    Messages are designated as "T messages" or "R messages", T and R being stand-ins for transmit and receive. A T message initiates an exchange and is assigned a free tag by the sender. A reply is either an R message of the same type (Rx replies to Tx for some x), or an Rerr, indicating a session layer error. R messages are matched to their T messages by tag, and the reply concludes the exchange and frees the tag for future use. Implementations should reuse small tag numbers.

    Messages

    size:4 Tinit:1 tag:3 version:2 (key~4 value~4)* reinitializes a session. Clients typically send this at the beginning of the session. When doing so, the sender may issue no more T messages until the corresponding size:4 Rinit:1 tag:3 version:2 (key~4 value~4)* has been received. After the Rinit was received, all connection state has been reset (outstanding tags are invalidated) and the stream is resumed according to the newly negotiated parameters. Prior to the first Tinit, the session operates at version 1. Rinit's version field is the accepted version of the session (which may be lower than the one requested by Tinit).

    size:4 Treq:1 tag:3 n:1 (key:1 value~1){n} body: initiates the request described by its body. The request body is delivered to the application. The request header contains a number of key-value pairs that describe request metadata.

    Keys for Treq messages are as follows:

    1. traceid: a 24-byte value describing the full Dapper trace id assigned by the client. The value's format is spanid:8 parentid:8 traceid:8.

    2. traceflag: a bitmask describing trace flags. Currently, the only defined flag is bit 0 which enables "debug mode", asking the server to force trace sampling.

    size:4 Tdispatch:1 tag:3 nctx:2 (ckey~2 cval~2){nc} dst~2 nd:2 (from~2 to~2){nd} body: implements destination dispatch. Tdispatch messages carry a set of keyed request contexts, followed by a logical destination encoded as a UTF-8 string. A delegation table follows describing rewrite rules that apply to this request.

    size:4 Rreq:1 tag:3 status:1 body: replies to a request. Status codes are as follows: 0=OK; the body contains the reply. 1=ERROR; the body contains a string describing the error. 2=NACK; a negative acknowledgment, the body contains a string describing the reason.

    size:4 Rdispatch:1 tag:3 status:1 nctx:2 (key~2 value~2){nctx} body: replies to a Tdispatch request. Status codes are as in Rreq. Replies can include request contexts. MuxFailure flags are currently sent via Rdispatch contexts under the "MuxFailure" key. See the MuxFailure flags section below.

    size:4 Rerr:1 tag:3 why: indicates that the corresponding T message produced an error. Rerr is specifically for server errors: the server failed to interpret or act on the message. The body carries a string describing the error.

    size:4 Tdrain:1 tag:3 is a request sent by the server telling the client to stop sending new requests. A client acknowledges this with an Rdrain message.

    size:4 Tping:1 tag:3 is sent by either party to check the liveness of its peer; these should be responded to immediately with a Rping message.

    size:4 Tdiscarded:1 tag:3 discard_tag:3 why: is a marker message and therefore has a tag value of 0. discard_tag indicates the tag of the Tdispatch to be discarded by the client. This can be used as a hint for early termination. Why is a string describing why the request was discarded. Note that it does *not* free the server from the obligation of replying to the original Treq.

    size:4 Tlease:1 tag:3 unit:1 howmuch:8 is a marker message indicating that a lease has been issued for howmuch units. As a marker message, its tag value must be 0. Unit '0' is reserved for duration in milliseconds. Whenever a lease has not been issued, a client can assume it holds an indefinite lease. Adhering to the lease is optional, but the server may reject requests or provide degraded service should the lease expire. This is used by servers to implement features like garbage collection avoidance.

    MuxFailure Flags

    Failure flags are read and written as an 8 byte integer. Unrecognized flags will be ignored silently, but should all be considered reserved for future use.

    Flag Value Meaning Restartable 1 << 0 Request is safe to re-issue Rejected 1 << 1 Request was rejected/Nacked by the server NonRetryable 1 << 2 Request should not be retried

    Security

    TLS is supported via three mechanisms: - Explicit and exclusive TLS. This pathway involves requiring the establishment of TLS immediately after establishing the socket connection. This is configured by adding TLS configuration to the client or server and not configuring opportunistic TLS or TLS snooping (see below).

    - Negotiated Opportunistic TLS. This pathway involves starting the connection as cleartext and the client and server subsequently negotiate a TLS level via the handshake. Based on that handshake the connection is either left as cleartext or upgraded to TLS. This is configured by adding TLS configuration and also configuring an opportunistic TLS level but not configuring TLS snooping.

    In this pathway there are three configuration options:

    • Off signals that TLS is not supported by this peer
    • Desired signals that TLS is preferred but not required by this peer
    • Required signals that this peer will only allow the session to continue over TLS

    - TLS snooping. This pathway allows a server to use TLS either by performing a TLS handshake immediately after the socket is established or by starting the session as cleartext or using the negotiated pathway described above. If the session is started as a TLS session the headers that drive the opportunistic TLS pathway are ignored.

    Note that the server may still require TLS but leaves the option to start TLS immediately after establishing the socket or starting cleartext and requiring TLS via the opportunistic TLS pathway described above.

    Definition Classes
    finagle
  • package mysql
    Definition Classes
    finagle
  • package namer
    Definition Classes
    finagle
  • package naming
    Definition Classes
    finagle
  • package netty4

    Package netty4 implements the bottom finagle primitives: com.twitter.finagle.Server and a client transport in terms of the netty4 event loop.

    Package netty4 implements the bottom finagle primitives: com.twitter.finagle.Server and a client transport in terms of the netty4 event loop.

    Definition Classes
    finagle
  • package offload
    Definition Classes
    finagle
  • package param

    Defines common com.twitter.finagle.Stack.Param's shared between finagle clients and servers.

    Defines common com.twitter.finagle.Stack.Param's shared between finagle clients and servers.

    Definition Classes
    finagle
  • package partitioning
    Definition Classes
    finagle
  • package pool
    Definition Classes
    finagle
  • package postgresql
    Definition Classes
    finagle
  • package pushsession
    Definition Classes
    finagle
  • package redis
    Definition Classes
    finagle
  • package scribe
    Definition Classes
    finagle
  • package server
    Definition Classes
    finagle
  • package serverset2
    Definition Classes
    finagle
  • package service
    Definition Classes
    finagle
  • package ssl
    Definition Classes
    finagle
  • package stats
    Definition Classes
    finagle
  • package thrift

    Please use the new interface, com.twitter.finagle.Thrift, for constructing Thrift clients and servers.

    Deprecation

    Please use the new interface, com.twitter.finagle.Thrift, for constructing Thrift clients and servers.

    Thrift codecs

    We provide client and server protocol support for the framed protocol. The public implementations are defined on the Thrift object:

    The type of the server codec is Service[Array[Byte], Array[Byte]] and the client codecs are Service[ThriftClientRequest, Array[Byte]]. The service provided is that of a "transport" of thrift messages (requests and replies) according to the protocol chosen. This is why the client codecs need to have access to a thrift ProtocolFactory.

    These transports are used by the services produced by the finagle thrift codegenerator.

    val service: Service[ThriftClientRequest, Array[Byte]] = ClientBuilder()
      .hosts("foobar.com:123")
      .stack(Thrift.client)
      .build()
    
    // Wrap the raw Thrift transport in a Client decorator. The client
    // provides a convenient procedural interface for accessing the Thrift
    // server.
    val client = new Hello.ServiceToClient(service, protocolFactory)

    In this example, Hello is the thrift interface, and the inner class ServiceToClient is provided by the finagle thrift code generator.

    Definition Classes
    finagle
  • package thriftmux
    Definition Classes
    finagle
  • package toggle
    Definition Classes
    finagle
  • package tracing
    Definition Classes
    finagle
  • package transport
    Definition Classes
    finagle
  • package tunable
    Definition Classes
    finagle
  • package util
    Definition Classes
    finagle
  • package zipkin
    Definition Classes
    finagle
  • package zookeeper
    Definition Classes
    finagle
  • AbstractFailureFlags
  • AbstractNamer
  • AbstractResolver
  • Addr
  • Address
  • Addresses
  • Addrs
  • Announcement
  • Announcer
  • AnnouncerForumInvalid
  • AnnouncerNotFoundException
  • ApiException
  • Backoff
  • CanStackFrom
  • CancelledConnectionException
  • CancelledRequestException
  • ChannelBufferUsageException
  • ChannelClosedException
  • ChannelException
  • ChannelWriteException
  • Client
  • ClientConnection
  • ClientParamsInjector
  • ConnectionFailedException
  • ConnectionRefusedException
  • Dentry
  • DroppedWriteException
  • Dtab
  • DtabBuilder
  • DtabFlags
  • FactoryToService
  • FailResolver
  • FailedFastException
  • Failure
  • FailureFlags
  • Filter
  • FinagleInit
  • FixedInetResolver
  • GlobalRequestTimeoutException
  • HasRemoteInfo
  • Http
  • HttpRichClient
  • InconsistentStateException
  • IndividualRequestTimeoutException
  • InetResolver
  • JavaFailureFlags
  • ListeningServer
  • Memcached
  • MemcachedRichClient
  • MultipleAnnouncersPerSchemeException
  • MultipleResolversPerSchemeException
  • Mux
  • Mysql
  • MysqlRichClient
  • Name
  • NameTree
  • Namer
  • Names
  • NegResolver
  • NilResolver
  • NoBrokersAvailableException
  • NotServableException
  • NullServer
  • Path
  • PostgreSql
  • ProxyAnnouncement
  • ProxyConnectException
  • ReadTimedOutException
  • Redis
  • RedisRichClient
  • RefusedByRateLimiter
  • RequestException
  • RequestTimeoutException
  • Resolver
  • ResolverAddressInvalid
  • ResolverNotFoundException
  • Resolvers
  • Server
  • ServerErrorMonitor
  • Service
  • ServiceClosedException
  • ServiceException
  • ServiceFactory
  • ServiceFactoryProxy
  • ServiceFactoryWrapper
  • ServiceNamer
  • ServiceNotAvailableException
  • ServiceProxy
  • ServiceReturnedToPoolException
  • ServiceTimeoutException
  • ShardNotAvailableException
  • SimpleFilter
  • SourcedException
  • SslException
  • SslVerificationFailedException
  • Stack
  • StackBuilder
  • StackParams
  • StackTransformer
  • StackTransformerCollection
  • Stackable
  • Stacks
  • Status
  • StreamClosedException
  • Thrift
  • ThriftMux
  • TimeoutException
  • TooManyConcurrentRequestsException
  • TooManyWaitersException
  • TransportException
  • UnknownChannelException
  • WriteException
  • WriteTimedOutException
  • stack

case class Dtab(dentries0: IndexedSeq[Dentry]) extends DtabBase with Product with Serializable

A Dtab--short for delegation table--comprises a sequence of delegation rules. Together, these describe how to bind a com.twitter.finagle.Path to a set of com.twitter.finagle.Addr. com.twitter.finagle.naming.DefaultInterpreter implements the default binding strategy.

See also

The user guide for further details.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Dtab
  2. Serializable
  3. Product
  4. DtabBase
  5. IndexedSeq
  6. IndexedSeqOps
  7. IndexedSeq
  8. IndexedSeqOps
  9. Seq
  10. SeqOps
  11. Seq
  12. Equals
  13. SeqOps
  14. PartialFunction
  15. Function1
  16. Iterable
  17. Iterable
  18. IterableFactoryDefaults
  19. IterableOps
  20. IterableOnceOps
  21. IterableOnce
  22. AnyRef
  23. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Dtab(dentries0: IndexedSeq[Dentry])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(dentry: Dentry): Dtab

    Construct a new Dtab with the given delegation entry appended.

    Construct a new Dtab with the given delegation entry appended.

    Definition Classes
    DtabBase
  4. def ++(dtab: Dtab): Dtab

    Construct a new Dtab with the given dtab appended.

    Construct a new Dtab with the given dtab appended.

    Definition Classes
    DtabBase
  5. final def ++[B >: Dentry](suffix: IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    IterableOps
    Annotations
    @inline()
  6. final def ++:[B >: Dentry](prefix: IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    SeqOps → IterableOps
    Annotations
    @inline()
  7. final def +:[B >: Dentry](elem: B): IndexedSeq[B]
    Definition Classes
    SeqOps
    Annotations
    @inline()
  8. final def :+[B >: Dentry](elem: B): IndexedSeq[B]
    Definition Classes
    SeqOps
    Annotations
    @inline()
  9. final def :++[B >: Dentry](suffix: IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    SeqOps
    Annotations
    @inline()
  10. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. final def addString(b: StringBuilder): StringBuilder
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  12. final def addString(b: StringBuilder, sep: String): StringBuilder
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  13. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
    Definition Classes
    IterableOnceOps
  14. def andThen[C](k: PartialFunction[Dentry, C]): PartialFunction[Int, C]
    Definition Classes
    PartialFunction
  15. def andThen[C](k: (Dentry) => C): PartialFunction[Int, C]
    Definition Classes
    PartialFunction → Function1
  16. def append(dentry: Dentry): Dtab

    Java API for '+'

    Java API for '+'

    Definition Classes
    DtabBase
  17. def appended[B >: Dentry](elem: B): IndexedSeq[B]
    Definition Classes
    SeqOps
  18. def appendedAll[B >: Dentry](suffix: IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    SeqOps
  19. def apply(i: Int): Dentry
    Definition Classes
    DtabBase → SeqOps → Function1
  20. def applyOrElse[A1 <: Int, B1 >: Dentry](x: A1, default: (A1) => B1): B1
    Definition Classes
    PartialFunction
  21. def applyPreferredMaxLength: Int
    Attributes
    protected
    Definition Classes
    IndexedSeq
  22. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  23. def canEqual(that: Any): Boolean
    Definition Classes
    IndexedSeq → Seq → Equals
  24. def className: String
    Attributes
    protected[this]
    Definition Classes
    Iterable
  25. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  26. final def coll: Dtab.this.type
    Attributes
    protected
    Definition Classes
    Iterable → IterableOps
  27. def collect[B](pf: PartialFunction[Dentry, B]): IndexedSeq[B]
    Definition Classes
    IterableOps → IterableOnceOps
  28. def collectFirst[B](pf: PartialFunction[Dentry, B]): Option[B]
    Definition Classes
    IterableOnceOps
  29. def combinations(n: Int): Iterator[IndexedSeq[Dentry]]
    Definition Classes
    SeqOps
  30. def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, Dentry]
    Definition Classes
    PartialFunction
  31. def compose[A](g: (A) => Int): (A) => Dentry
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  32. def concat(dtab: Dtab): Dtab

    Java API for '++'

    Java API for '++'

    Definition Classes
    DtabBase
  33. final def concat[B >: Dentry](suffix: IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    SeqOps → IterableOps
    Annotations
    @inline()
  34. def contains[A1 >: Dentry](elem: A1): Boolean
    Definition Classes
    SeqOps
  35. def containsSlice[B >: Dentry](that: Seq[B]): Boolean
    Definition Classes
    SeqOps
  36. def copyToArray[B >: Dentry](xs: Array[B], start: Int, len: Int): Int
    Definition Classes
    IterableOnceOps
  37. def copyToArray[B >: Dentry](xs: Array[B], start: Int): Int
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  38. def copyToArray[B >: Dentry](xs: Array[B]): Int
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  39. def corresponds[B](that: Seq[B])(p: (Dentry, B) => Boolean): Boolean
    Definition Classes
    SeqOps
  40. def corresponds[B](that: IterableOnce[B])(p: (Dentry, B) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  41. def count(p: (Dentry) => Boolean): Int
    Definition Classes
    IterableOnceOps
  42. val dentries0: IndexedSeq[Dentry]
    Definition Classes
    Dtab → DtabBase
  43. def diff[B >: Dentry](that: Seq[B]): IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  44. def distinct: IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  45. def distinctBy[B](f: (Dentry) => B): IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  46. def drop(n: Int): IndexedSeq[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOps → IterableOnceOps
  47. def dropRight(n: Int): IndexedSeq[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOps
  48. def dropWhile(p: (Dentry) => Boolean): IndexedSeq[Dentry]
    Definition Classes
    IterableOps → IterableOnceOps
  49. def elementWise: ElementWiseExtractor[Int, Dentry]
    Definition Classes
    PartialFunction
  50. def empty: IndexedSeq[Dentry]
    Definition Classes
    IterableFactoryDefaults → IterableOps
  51. def endsWith[B >: Dentry](that: Iterable[B]): Boolean
    Definition Classes
    SeqOps
  52. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  53. def equals(o: Any): Boolean
    Definition Classes
    Seq → Equals → AnyRef → Any
  54. def exists(p: (Dentry) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  55. def filter(pred: (Dentry) => Boolean): IndexedSeq[Dentry]
    Definition Classes
    IterableOps → IterableOnceOps
  56. def filterNot(pred: (Dentry) => Boolean): IndexedSeq[Dentry]
    Definition Classes
    IterableOps → IterableOnceOps
  57. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  58. def find(p: (Dentry) => Boolean): Option[Dentry]
    Definition Classes
    IterableOnceOps
  59. def findLast(p: (Dentry) => Boolean): Option[Dentry]
    Definition Classes
    SeqOps
  60. def flatMap[B](f: (Dentry) => IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    IterableOps → IterableOnceOps
  61. def flatten[B](implicit asIterable: (Dentry) => IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    IterableOps → IterableOnceOps
  62. def fold[A1 >: Dentry](z: A1)(op: (A1, A1) => A1): A1
    Definition Classes
    IterableOnceOps
  63. def foldLeft[B](z: B)(op: (B, Dentry) => B): B
    Definition Classes
    IterableOnceOps
  64. def foldRight[B](z: B)(op: (Dentry, B) => B): B
    Definition Classes
    IndexedSeqOps → IterableOnceOps
  65. def forall(p: (Dentry) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  66. def foreach[U](f: (Dentry) => U): Unit
    Definition Classes
    IterableOnceOps
  67. def fromSpecific(coll: IterableOnce[Dentry]): IndexedSeq[Dentry]
    Attributes
    protected
    Definition Classes
    IterableFactoryDefaults → IterableOps
  68. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  69. def groupBy[K](f: (Dentry) => K): Map[K, IndexedSeq[Dentry]]
    Definition Classes
    IterableOps
  70. def groupMap[K, B](key: (Dentry) => K)(f: (Dentry) => B): Map[K, IndexedSeq[B]]
    Definition Classes
    IterableOps
  71. def groupMapReduce[K, B](key: (Dentry) => K)(f: (Dentry) => B)(reduce: (B, B) => B): Map[K, B]
    Definition Classes
    IterableOps
  72. def grouped(size: Int): Iterator[IndexedSeq[Dentry]]
    Definition Classes
    IterableOps
  73. def hashCode(): Int
    Definition Classes
    Seq → AnyRef → Any
  74. def head: Dentry
    Definition Classes
    IndexedSeqOps → IterableOps
  75. def headOption: Option[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOps
  76. def indexOf[B >: Dentry](elem: B): Int
    Definition Classes
    SeqOps
    Annotations
    @deprecatedOverriding()
  77. def indexOf[B >: Dentry](elem: B, from: Int): Int
    Definition Classes
    SeqOps
  78. def indexOfSlice[B >: Dentry](that: Seq[B]): Int
    Definition Classes
    SeqOps
    Annotations
    @deprecatedOverriding()
  79. def indexOfSlice[B >: Dentry](that: Seq[B], from: Int): Int
    Definition Classes
    SeqOps
  80. def indexWhere(p: (Dentry) => Boolean): Int
    Definition Classes
    SeqOps
    Annotations
    @deprecatedOverriding()
  81. def indexWhere(p: (Dentry) => Boolean, from: Int): Int
    Definition Classes
    SeqOps
  82. def indices: Range
    Definition Classes
    SeqOps
  83. def init: IndexedSeq[Dentry]
    Definition Classes
    IterableOps
  84. def inits: Iterator[IndexedSeq[Dentry]]
    Definition Classes
    IterableOps
  85. def intersect[B >: Dentry](that: Seq[B]): IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  86. def isDefinedAt(idx: Int): Boolean
    Definition Classes
    SeqOps
  87. def isEmpty: Boolean
    Definition Classes
    DtabBase → SeqOps → IterableOnceOps
  88. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  89. def isTraversableAgain: Boolean
    Definition Classes
    IterableOps → IterableOnceOps
  90. def iterableFactory: SeqFactory[IndexedSeq]
    Definition Classes
    IndexedSeq → IndexedSeq → Seq → Seq → Iterable → Iterable → IterableOps
  91. def iterator: Iterator[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOnce
  92. def knownSize: Int
    Definition Classes
    IndexedSeqOps → IterableOnce
  93. def last: Dentry
    Definition Classes
    IndexedSeqOps → IterableOps
  94. def lastIndexOf[B >: Dentry](elem: B, end: Int): Int
    Definition Classes
    SeqOps
  95. def lastIndexOfSlice[B >: Dentry](that: Seq[B]): Int
    Definition Classes
    SeqOps
    Annotations
    @deprecatedOverriding()
  96. def lastIndexOfSlice[B >: Dentry](that: Seq[B], end: Int): Int
    Definition Classes
    SeqOps
  97. def lastIndexWhere(p: (Dentry) => Boolean): Int
    Definition Classes
    SeqOps
    Annotations
    @deprecatedOverriding()
  98. def lastIndexWhere(p: (Dentry) => Boolean, end: Int): Int
    Definition Classes
    SeqOps
  99. def lastOption: Option[Dentry]
    Definition Classes
    IterableOps
  100. def lazyZip[B](that: Iterable[B]): LazyZip2[Dentry, B, Dtab.this.type]
    Definition Classes
    Iterable
  101. def length: Int
    Definition Classes
    DtabBase → SeqOps
  102. final def lengthCompare(that: Iterable[_]): Int
    Definition Classes
    IndexedSeqOps → SeqOps
  103. final def lengthCompare(len: Int): Int
    Definition Classes
    IndexedSeqOps → SeqOps
  104. final def lengthIs: SizeCompareOps
    Definition Classes
    SeqOps
    Annotations
    @inline()
  105. def lift: (Int) => Option[Dentry]
    Definition Classes
    PartialFunction
  106. def lookup(path: Path): NameTree[Name.Path]

    Lookup the given path with this dtab.

    Lookup the given path with this dtab.

    Definition Classes
    DtabBase
  107. def map[B](f: (Dentry) => B): IndexedSeq[B]
    Definition Classes
    IndexedSeqOps → IterableOps → IterableOnceOps
  108. def max[B >: Dentry](implicit ord: Ordering[B]): Dentry
    Definition Classes
    IterableOnceOps
  109. def maxBy[B](f: (Dentry) => B)(implicit cmp: Ordering[B]): Dentry
    Definition Classes
    IterableOnceOps
  110. def maxByOption[B](f: (Dentry) => B)(implicit cmp: Ordering[B]): Option[Dentry]
    Definition Classes
    IterableOnceOps
  111. def maxOption[B >: Dentry](implicit ord: Ordering[B]): Option[Dentry]
    Definition Classes
    IterableOnceOps
  112. def min[B >: Dentry](implicit ord: Ordering[B]): Dentry
    Definition Classes
    IterableOnceOps
  113. def minBy[B](f: (Dentry) => B)(implicit cmp: Ordering[B]): Dentry
    Definition Classes
    IterableOnceOps
  114. def minByOption[B](f: (Dentry) => B)(implicit cmp: Ordering[B]): Option[Dentry]
    Definition Classes
    IterableOnceOps
  115. def minOption[B >: Dentry](implicit ord: Ordering[B]): Option[Dentry]
    Definition Classes
    IterableOnceOps
  116. final def mkString: String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  117. final def mkString(sep: String): String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  118. final def mkString(start: String, sep: String, end: String): String
    Definition Classes
    IterableOnceOps
  119. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  120. def newSpecificBuilder: Builder[Dentry, IndexedSeq[Dentry]]
    Attributes
    protected
    Definition Classes
    IterableFactoryDefaults → IterableOps
  121. def nonEmpty: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  122. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  123. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  124. def occCounts[B](sq: Seq[B]): Map[B, Int]
    Attributes
    protected[collection]
    Definition Classes
    SeqOps
  125. def orElse[A1 <: Int, B1 >: Dentry](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
    Definition Classes
    PartialFunction
  126. def padTo[B >: Dentry](len: Int, elem: B): IndexedSeq[B]
    Definition Classes
    SeqOps
  127. def partition(p: (Dentry) => Boolean): (IndexedSeq[Dentry], IndexedSeq[Dentry])
    Definition Classes
    IterableOps
  128. def partitionMap[A1, A2](f: (Dentry) => Either[A1, A2]): (IndexedSeq[A1], IndexedSeq[A2])
    Definition Classes
    IterableOps
  129. def patch[B >: Dentry](from: Int, other: IterableOnce[B], replaced: Int): IndexedSeq[B]
    Definition Classes
    SeqOps
  130. def permutations: Iterator[IndexedSeq[Dentry]]
    Definition Classes
    SeqOps
  131. def prepended[B >: Dentry](elem: B): IndexedSeq[B]
    Definition Classes
    IndexedSeqOps → SeqOps
  132. def prependedAll[B >: Dentry](prefix: IterableOnce[B]): IndexedSeq[B]
    Definition Classes
    SeqOps
  133. def print(printer: PrintWriter): Unit

    Print a pretty representation of this Dtab.

    Print a pretty representation of this Dtab.

    Definition Classes
    DtabBase
  134. def product[B >: Dentry](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  135. def productElementNames: Iterator[String]
    Definition Classes
    Product
  136. def reduce[B >: Dentry](op: (B, B) => B): B
    Definition Classes
    IterableOnceOps
  137. def reduceLeft[B >: Dentry](op: (B, Dentry) => B): B
    Definition Classes
    IterableOnceOps
  138. def reduceLeftOption[B >: Dentry](op: (B, Dentry) => B): Option[B]
    Definition Classes
    IterableOnceOps
  139. def reduceOption[B >: Dentry](op: (B, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  140. def reduceRight[B >: Dentry](op: (Dentry, B) => B): B
    Definition Classes
    IterableOnceOps
  141. def reduceRightOption[B >: Dentry](op: (Dentry, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  142. def reverse: IndexedSeq[Dentry]
    Definition Classes
    IndexedSeqOps → SeqOps
  143. def reverseIterator: Iterator[Dentry]
    Definition Classes
    IndexedSeqOps → SeqOps
  144. def reversed: Iterable[Dentry]
    Attributes
    protected
    Definition Classes
    IndexedSeqOps → IterableOnceOps
  145. def runWith[U](action: (Dentry) => U): (Int) => Boolean
    Definition Classes
    PartialFunction
  146. def sameElements[B >: Dentry](o: IterableOnce[B]): Boolean
    Definition Classes
    IndexedSeq → SeqOps
  147. def scan[B >: Dentry](z: B)(op: (B, B) => B): IndexedSeq[B]
    Definition Classes
    IterableOps
  148. def scanLeft[B](z: B)(op: (B, Dentry) => B): IndexedSeq[B]
    Definition Classes
    IterableOps → IterableOnceOps
  149. def scanRight[B](z: B)(op: (Dentry, B) => B): IndexedSeq[B]
    Definition Classes
    IterableOps
  150. def search[B >: Dentry](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult
    Definition Classes
    IndexedSeqOps → SeqOps
  151. def search[B >: Dentry](elem: B)(implicit ord: Ordering[B]): SearchResult
    Definition Classes
    IndexedSeqOps → SeqOps
  152. def segmentLength(p: (Dentry) => Boolean, from: Int): Int
    Definition Classes
    SeqOps
  153. final def segmentLength(p: (Dentry) => Boolean): Int
    Definition Classes
    SeqOps
  154. def show: String
    Definition Classes
    DtabBase
  155. def simplified: Dtab

    Simplify the Dtab.

    Simplify the Dtab. This returns a functionally equivalent Dtab whose destination name trees have been simplified. The returned Dtab is equivalent with respect to evaluation.

    Definition Classes
    DtabBase
    To do

    dedup equivalent entries so that only the last entry is retained

    collapse entries with common prefixes

  156. final def size: Int
    Definition Classes
    SeqOps → IterableOnceOps
  157. final def sizeCompare(that: Iterable[_]): Int
    Definition Classes
    SeqOps → IterableOps
  158. final def sizeCompare(otherSize: Int): Int
    Definition Classes
    SeqOps → IterableOps
  159. final def sizeIs: SizeCompareOps
    Definition Classes
    IterableOps
    Annotations
    @inline()
  160. def slice(from: Int, until: Int): IndexedSeq[Dentry]
    Definition Classes
    IndexedSeqOps → IndexedSeqOps → IterableOps → IterableOnceOps
  161. def sliding(size: Int, step: Int): Iterator[IndexedSeq[Dentry]]
    Definition Classes
    IterableOps
  162. def sliding(size: Int): Iterator[IndexedSeq[Dentry]]
    Definition Classes
    IterableOps
  163. def sortBy[B](f: (Dentry) => B)(implicit ord: Ordering[B]): IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  164. def sortWith(lt: (Dentry, Dentry) => Boolean): IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  165. def sorted[B >: Dentry](implicit ord: Ordering[B]): IndexedSeq[Dentry]
    Definition Classes
    SeqOps
  166. def span(p: (Dentry) => Boolean): (IndexedSeq[Dentry], IndexedSeq[Dentry])
    Definition Classes
    IterableOps → IterableOnceOps
  167. def splitAt(n: Int): (IndexedSeq[Dentry], IndexedSeq[Dentry])
    Definition Classes
    IterableOps → IterableOnceOps
  168. def startsWith[B >: Dentry](that: IterableOnce[B], offset: Int): Boolean
    Definition Classes
    SeqOps
  169. def stepper[S <: Stepper[_]](implicit shape: StepperShape[Dentry, S]): S with EfficientSplit
    Definition Classes
    IndexedSeqOps → IterableOnce
  170. def stringPrefix: String
    Attributes
    protected[this]
    Definition Classes
    IndexedSeq → Seq → Iterable
  171. def stripPrefix(prefix: Dtab): Dtab

    Efficiently removes prefix prefix from dtab.

    Efficiently removes prefix prefix from dtab.

    Definition Classes
    DtabBase
  172. def sum[B >: Dentry](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  173. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  174. def tail: IndexedSeq[Dentry]
    Definition Classes
    IterableOps
  175. def tails: Iterator[IndexedSeq[Dentry]]
    Definition Classes
    IterableOps
  176. def take(n: Int): IndexedSeq[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOps → IterableOnceOps
  177. def takeRight(n: Int): IndexedSeq[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOps
  178. def takeWhile(p: (Dentry) => Boolean): IndexedSeq[Dentry]
    Definition Classes
    IterableOps → IterableOnceOps
  179. def tapEach[U](f: (Dentry) => U): IndexedSeq[Dentry]
    Definition Classes
    IterableOps → IterableOnceOps
  180. def to[C1](factory: Factory[Dentry, C1]): C1
    Definition Classes
    IterableOnceOps
  181. def toArray[B >: Dentry](implicit arg0: ClassTag[B]): Array[B]
    Definition Classes
    IterableOnceOps
  182. final def toBuffer[B >: Dentry]: Buffer[B]
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  183. final def toIndexedSeq: IndexedSeq[Dentry]
    Definition Classes
    IndexedSeq → IterableOnceOps
  184. final def toIterable: Dtab.this.type
    Definition Classes
    Iterable → IterableOps
  185. def toList: List[Dentry]
    Definition Classes
    IterableOnceOps
  186. def toMap[K, V](implicit ev: <:<[Dentry, (K, V)]): Map[K, V]
    Definition Classes
    IterableOnceOps
  187. final def toSeq: Dtab.this.type
    Definition Classes
    Seq → IterableOnceOps
  188. def toSet[B >: Dentry]: Set[B]
    Definition Classes
    IterableOnceOps
  189. def toString(): String
    Definition Classes
    DtabBase → Seq → Function1 → Iterable → AnyRef → Any
  190. def toVector: Vector[Dentry]
    Definition Classes
    IterableOnceOps
  191. def transpose[B](implicit asIterable: (Dentry) => Iterable[B]): IndexedSeq[IndexedSeq[B]]
    Definition Classes
    IterableOps
  192. def unapply(a: Int): Option[Dentry]
    Definition Classes
    PartialFunction
  193. def unzip[A1, A2](implicit asPair: (Dentry) => (A1, A2)): (IndexedSeq[A1], IndexedSeq[A2])
    Definition Classes
    IterableOps
  194. def unzip3[A1, A2, A3](implicit asTriple: (Dentry) => (A1, A2, A3)): (IndexedSeq[A1], IndexedSeq[A2], IndexedSeq[A3])
    Definition Classes
    IterableOps
  195. def updated[B >: Dentry](index: Int, elem: B): IndexedSeq[B]
    Definition Classes
    SeqOps
  196. def view: IndexedSeqView[Dentry]
    Definition Classes
    IndexedSeqOps → SeqOps → IterableOps
  197. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  198. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  199. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  200. def withFilter(p: (Dentry) => Boolean): WithFilter[Dentry, [_]IndexedSeq[_]]
    Definition Classes
    IterableOps
  201. def zip[B](that: IterableOnce[B]): IndexedSeq[(Dentry, B)]
    Definition Classes
    IterableOps
  202. def zipAll[A1 >: Dentry, B](that: Iterable[B], thisElem: A1, thatElem: B): IndexedSeq[(A1, B)]
    Definition Classes
    IterableOps
  203. def zipWithIndex: IndexedSeq[(Dentry, Int)]
    Definition Classes
    IterableOps → IterableOnceOps

Deprecated Value Members

  1. final def /:[B](z: B)(op: (B, Dentry) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldLeft instead of /:

  2. final def :\[B](z: B)(op: (Dentry, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldRight instead of :\

  3. def aggregate[B](z: => B)(seqop: (B, Dentry) => B, combop: (B, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) aggregate is not relevant for sequential collections. Use foldLeft(z)(seqop) instead.

  4. def companion: IterableFactory[[_]IndexedSeq[_]]
    Definition Classes
    IterableOps
    Annotations
    @deprecated @deprecatedOverriding() @inline()
    Deprecated

    (Since version 2.13.0) Use iterableFactory instead

  5. final def copyToBuffer[B >: Dentry](dest: Buffer[B]): Unit
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use dest ++= coll instead

  6. def hasDefiniteSize: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details)

  7. final def prefixLength(p: (Dentry) => Boolean): Int
    Definition Classes
    SeqOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use segmentLength instead of prefixLength

  8. final def repr: IndexedSeq[Dentry]
    Definition Classes
    IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use coll instead of repr in a collection implementation, use the collection value itself from the outside

  9. def reverseMap[B](f: (Dentry) => B): IndexedSeq[B]
    Definition Classes
    SeqOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use .reverseIterator.map(f).to(...) instead of .reverseMap(f)

  10. def seq: Dtab.this.type
    Definition Classes
    Iterable
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Iterable.seq always returns the iterable itself

  11. final def toIterator: Iterator[Dentry]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .iterator instead of .toIterator

  12. final def toStream: Stream[Dentry]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .to(LazyList) instead of .toStream

  13. final def toTraversable: Traversable[Dentry]
    Definition Classes
    IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use toIterable instead

  14. final def union[B >: Dentry](that: Seq[B]): IndexedSeq[B]
    Definition Classes
    SeqOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use concat instead

  15. def view(from: Int, until: Int): IndexedSeqView[Dentry]
    Definition Classes
    IndexedSeqOps → IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use .view.slice(from, until) instead of .view(from, until)

Inherited from Serializable

Inherited from Product

Inherited from DtabBase

Inherited from IndexedSeq[Dentry]

Inherited from IndexedSeq[Dentry]

Inherited from Seq[Dentry]

Inherited from SeqOps[Dentry, [_]IndexedSeq[_], IndexedSeq[Dentry]]

Inherited from Seq[Dentry]

Inherited from Equals

Inherited from SeqOps[Dentry, [_]IndexedSeq[_], IndexedSeq[Dentry]]

Inherited from PartialFunction[Int, Dentry]

Inherited from (Int) => Dentry

Inherited from Iterable[Dentry]

Inherited from Iterable[Dentry]

Inherited from IterableOps[Dentry, [_]IndexedSeq[_], IndexedSeq[Dentry]]

Inherited from IterableOnce[Dentry]

Inherited from AnyRef

Inherited from Any

Ungrouped