Class

com.twitter.finagle.ThriftMux

ServerMuxer

Related Doc: package ThriftMux

Permalink

case class ServerMuxer(stack: Stack[ServiceFactory[Request, Response]] = BaseServerStack, params: Params = ...) extends StdStackServer[Request, Response, ServerMuxer] with Product with Serializable

A server for the Thrift protocol served over com.twitter.finagle.mux. ThriftMuxServer is backwards-compatible with Thrift clients that use the framed transport and binary protocol. It switches to the backward-compatible mode when the first request is not recognized as a valid Mux message but can be successfully handled by the underlying Thrift service. Since a Thrift message that is encoded with the binary protocol starts with a header value of 0x800100xx, Mux does not confuse it with a valid Mux message (0x80 = -128 is an invalid Mux message type) and the server can reliably detect the non-Mux Thrift client and switch to the backwards-compatible mode.

Note that the server is also compatible with non-Mux finagle-thrift clients. It correctly responds to the protocol up-negotiation request and passes the tracing information embedded in the thrift requests to Mux (which has native tracing support).

Linear Supertypes
Serializable, Serializable, Product, Equals, StdStackServer[Request, Response, ServerMuxer], StackServer[Request, Response], StackBasedServer[Request, Response], Parameterized[StackServer[Request, Response]], finagle.Server[Request, Response], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ServerMuxer
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. StdStackServer
  7. StackServer
  8. StackBasedServer
  9. Parameterized
  10. Server
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ServerMuxer(stack: Stack[ServiceFactory[Request, Response]] = BaseServerStack, params: Params = ...)

    Permalink

Type Members

  1. type In = ChannelBuffer

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  2. type Out = ChannelBuffer

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def configured[P](psp: (P, Param[P])): ServerMuxer

    Permalink
    Definition Classes
    StdStackServer → StackServer → Parameterized
  7. def configured[P](p: P)(implicit arg0: Param[P]): ServerMuxer

    Permalink
    Definition Classes
    StdStackServer → StackServer → Parameterized
  8. def copy1(stack: Stack[ServiceFactory[Request, Response]] = this.stack, params: Params = this.params): ServerMuxer

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def newDispatcher(transport: Transport[In, Out], service: Service[Request, Response]): Closable

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  15. def newListener(): Listener[In, Out]

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. val params: Params

    Permalink
    Definition Classes
    ServerMuxer → StackServer → Parameterized
  19. def serve(addr: SocketAddress, factory: ServiceFactory[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    StdStackServer → Server
  20. def serve(addr: String, service: Service[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  21. def serve(addr: String, service: ServiceFactory[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  22. def serve(addr: SocketAddress, service: Service[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  23. def serveAndAnnounce(name: String, service: Service[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  24. def serveAndAnnounce(name: String, service: ServiceFactory[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  25. def serveAndAnnounce(name: String, addr: String, service: Service[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  26. def serveAndAnnounce(name: String, addr: String, service: ServiceFactory[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  27. def serveAndAnnounce(name: String, addr: SocketAddress, service: Service[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  28. def serveAndAnnounce(name: String, addr: SocketAddress, service: ServiceFactory[Request, Response]): ListeningServer

    Permalink
    Definition Classes
    Server
  29. val stack: Stack[ServiceFactory[Request, Response]]

    Permalink
    Definition Classes
    ServerMuxer → StackServer
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  31. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. def withParams(params: Params): ServerMuxer

    Permalink
    Definition Classes
    StdStackServer → StackServer → Parameterized
  35. def withStack(stack: Stack[ServiceFactory[Request, Response]]): ServerMuxer

    Permalink
    Definition Classes
    StdStackServer → StackServer

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from StdStackServer[Request, Response, ServerMuxer]

Inherited from StackServer[Request, Response]

Inherited from StackBasedServer[Request, Response]

Inherited from Parameterized[StackServer[Request, Response]]

Inherited from finagle.Server[Request, Response]

Inherited from AnyRef

Inherited from Any

Ungrouped