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
  • object Stack

    Definition Classes
    finagle
    See also

    stack.nilStack for starting construction of an empty stack for ServiceFactorys.

  • Head
  • Leaf
  • Module
  • Module0
  • Module1
  • Module2
  • Module3
  • Module4
  • Module5
  • Module6
  • ModuleParams
  • NoOpModule
  • Node
  • Param
  • Parameterized
  • Params
  • Role
  • Transformable
  • Transformer

case class Node[T](head: Head, mk: (Params, Stack[T]) ⇒ Stack[T], next: Stack[T]) extends Stack[T] with Product with Serializable

Nodes materialize by transforming the underlying stack in some way.

Linear Supertypes
Serializable, Serializable, Product, Equals, Stack[T], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Node
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Stack
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Node(head: Head, mk: (Params, Stack[T]) ⇒ Stack[T], next: Stack[T])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def ++(right: Stack[T]): Stack[T]

    Produce a new stack representing the concatenation of this with right.

    Produce a new stack representing the concatenation of this with right. Note that this replaces the terminating element of this.

    Definition Classes
    Stack
  4. def +:(stk: Stackable[T]): Stack[T]

    A copy of this Stack with stk prepended.

    A copy of this Stack with stk prepended.

    Definition Classes
    Stack
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def concat(right: Stack[T]): Stack[T]

    Produce a new stack representing the concatenation of this with right.

    Produce a new stack representing the concatenation of this with right. Note that this replaces the terminating element of this.

    Alias for Stack.++.

    Definition Classes
    Stack
  9. def contains(role: Role): Boolean

    Returns whether the stack contains a given role or not.

    Returns whether the stack contains a given role or not.

    Definition Classes
    Stack
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. final def exists(pred: (Stack[T]) ⇒ Boolean): Boolean

    Traverse the stack, until you find that pred has been evaluated to true.

    Traverse the stack, until you find that pred has been evaluated to true. If pred finds an element, return true, otherwise, false.

    Definition Classes
    Stack
    Annotations
    @tailrec()
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def foreach(fn: (Stack[T]) ⇒ Unit): Unit

    Traverse the stack, invoking fn on each element.

    Traverse the stack, invoking fn on each element.

    Definition Classes
    Stack
    Annotations
    @tailrec()
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. val head: Head
    Definition Classes
    NodeStack
  16. def insertAfter[U](target: Role, insertion: U)(implicit csf: CanStackFrom[U, T]): Stack[T]

    Insert the given Stackable after the stack elements matching the argument role.

    Insert the given Stackable after the stack elements matching the argument role. If no elements match the role, then an unmodified stack is returned. insertion must conform to typeclass CanStackFrom.

    Definition Classes
    Stack
  17. def insertAfter(target: Role, insertion: Stackable[T]): Stack[T]

    Insert the given Stackable after the stack elements matching the argument role.

    Insert the given Stackable after the stack elements matching the argument role. If no elements match the role, then an unmodified stack is returned.

    Definition Classes
    Stack
  18. def insertBefore[U](target: Role, insertion: U)(implicit csf: CanStackFrom[U, T]): Stack[T]

    Insert the given Stackable before the stack elements matching the argument role.

    Insert the given Stackable before the stack elements matching the argument role. If no elements match the role, then an unmodified stack is returned. insertion must conform to typeclass CanStackFrom.

    Definition Classes
    Stack
  19. def insertBefore(target: Role, insertion: Stackable[T]): Stack[T]

    Insert the given Stackable before the stack elements matching the argument role.

    Insert the given Stackable before the stack elements matching the argument role. If no elements match the role, then an unmodified stack is returned.

    Definition Classes
    Stack
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def make(params: Params): T

    Materialize the current stack with the given parameters, producing a T-typed value representing the current configuration.

    Materialize the current stack with the given parameters, producing a T-typed value representing the current configuration.

    Definition Classes
    NodeStack
  22. val mk: (Params, Stack[T]) ⇒ Stack[T]
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. val next: Stack[T]
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. def prepend[U](role: Role, element: U)(implicit csf: CanStackFrom[U, T]): Stack[T]

    A copy of this Stack with element prepended using the given Stack.Role.

    A copy of this Stack with element prepended using the given Stack.Role.

    Definition Classes
    Stack
  28. def prepend(stk: Stackable[T]): Stack[T]

    A copy of this Stack with stk prepended.

    A copy of this Stack with stk prepended.

    An alias for Stack.+:.

    Definition Classes
    Stack
  29. def remove(target: Role): Stack[T]

    Remove all nodes in the stack that match the target role.

    Remove all nodes in the stack that match the target role. Leaf nodes are not removable.

    Definition Classes
    Stack
  30. def replace[U](target: Role, replacement: U)(implicit csf: CanStackFrom[U, T]): Stack[T]

    Replace any stack elements matching the argument role with a given Stackable.

    Replace any stack elements matching the argument role with a given Stackable. If no elements match the role, then an unmodified stack is returned. replacement must conform to typeclass CanStackFrom.

    Definition Classes
    Stack
  31. def replace(target: Role, replacement: Stackable[T]): Stack[T]

    Replace any stack elements matching the argument role with a given Stackable.

    Replace any stack elements matching the argument role with a given Stackable. If no elements match the role, then an unmodified stack is returned.

    Definition Classes
    Stack
  32. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  33. def tails: Iterator[Stack[T]]

    Enumerate each well-formed stack contained within this stack.

    Enumerate each well-formed stack contained within this stack.

    Definition Classes
    Stack
  34. def toString(): String
    Definition Classes
    Stack → AnyRef → Any
  35. def transform(fn: (Stack[T]) ⇒ Stack[T]): Stack[T]

    Transform one stack to another by applying fn on each element; the map traverses on the element produced by fn, not the original stack.

    Transform one stack to another by applying fn on each element; the map traverses on the element produced by fn, not the original stack.

    Attributes
    protected
    Definition Classes
    Stack
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Stack[T]

Inherited from AnyRef

Inherited from Any

Ungrouped