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
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ServerMuxer
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. StdStackServer
  7. ListeningStackServer
  8. WithServerAdmissionControl
  9. WithServerSession
  10. WithServerTransport
  11. CommonParams
  12. StackServer
  13. StackBasedServer
  14. Parameterized
  15. Server
  16. AnyRef
  17. 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 Context = MuxContext

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  2. type In = Buf

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  3. type Out = Buf

    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
    ListeningStackServer → StackServer → Parameterized
  7. def configured[P](p: P)(implicit arg0: Param[P]): ServerMuxer

    Permalink
    Definition Classes
    ListeningStackServer → StackServer → Parameterized
  8. def configuredParams(newParams: Params): ServerMuxer

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  15. def newDispatcher(transport: Transport[In, Out] { type Context <: ServerMuxer.this.Context }, service: Service[Request, Response]): Closable

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

    Permalink
    Attributes
    protected
    Definition Classes
    ServerMuxer → StdStackServer
  17. final def newListeningServer(serviceFactory: ServiceFactory[Request, Response], addr: SocketAddress)(trackSession: (ClientConnection) ⇒ Unit): ListeningServer

    Permalink
    Attributes
    protected
    Definition Classes
    StdStackServer → ListeningStackServer
  18. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  20. val params: Params

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. val withAdmissionControl: ServerAdmissionControlParams[ServerMuxer]

    Permalink
    Definition Classes
    WithServerAdmissionControl
  37. def withExceptionStatsHandler(exceptionStatsHandler: ExceptionStatsHandler): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  38. def withLabel(label: String): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  39. def withMonitor(monitor: Monitor): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  40. def withParams(params: Params): ServerMuxer

    Permalink
    Definition Classes
    ListeningStackServer → StackServer → Parameterized
  41. def withRequestTimeout(timeout: Tunable[Duration]): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  42. def withRequestTimeout(timeout: Duration): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  43. def withResponseClassifier(responseClassifier: ResponseClassifier): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  44. val withSession: SessionParams[ServerMuxer]

    Permalink
    Definition Classes
    WithServerSession
  45. def withStack(stack: Stack[ServiceFactory[Request, Response]]): ServerMuxer

    Permalink
    Definition Classes
    ListeningStackServer → StackServer
  46. def withStatsReceiver(statsReceiver: StatsReceiver): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  47. def withTracer(tracer: Tracer): ServerMuxer

    Permalink
    Definition Classes
    CommonParams
  48. val withTransport: ServerTransportParams[ServerMuxer]

    Permalink
    Definition Classes
    WithServerTransport

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from WithServerSession[ServerMuxer]

Inherited from CommonParams[ServerMuxer]

Inherited from StackServer[Request, Response]

Inherited from StackBasedServer[Request, Response]

Inherited from Parameterized[ServerMuxer]

Inherited from finagle.Server[Request, Response]

Inherited from AnyRef

Inherited from Any

Ungrouped