Packages

object ThriftMux extends Client[ThriftClientRequest, Array[Byte]] with Server[Array[Byte], Array[Byte]]

The ThriftMux object is both a com.twitter.finagle.Client and a com.twitter.finagle.Server for the Thrift protocol served over com.twitter.finagle.mux. Rich interfaces are provided to adhere to those generated from a Thrift IDL by Scrooge or thrift-finagle.

Clients

Clients can be created directly from an interface generated from a Thrift IDL:

For example, this IDL:

service TestService {
  string query(1: string x)
}

compiled with Scrooge, generates the interface TestService.MethodPerEndpoint. This is then passed into ThriftMux.Client.build:

ThriftMux.client.build[TestService.MethodPerEndpoint](
  addr, classOf[TestService.MethodPerEndpoint])

However note that the Scala compiler can insert the latter Class for us, for which another variant of build is provided:

ThriftMux.client.build[TestService.MethodPerEndpoint](addr)

In Java, we need to provide the class object:

TestService.MethodPerEndpoint client =
  ThriftMux.client.build(addr, TestService.MethodPerEndpoint.class);

Servers

Servers are also simple to expose:

TestService.MethodPerEndpoint must be implemented and passed into serveIface:

// An echo service
ThriftMux.server.serveIface(":*", new TestService.MethodPerEndpoint {
  def query(x: String): Future[String] = Future.value(x)
})

This object does not expose any configuration options. Both clients and servers are instantiated with sane defaults. Clients are labeled with the "clnt/thrift" prefix and servers with "srv/thrift". If you'd like more configuration, see the configuration documentation.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ThriftMux
  2. Server
  3. Client
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Client(muxer: StackClient[Request, Response] = Client.standardMuxer) extends StackBasedClient[ThriftClientRequest, Array[Byte]] with Parameterized[Client] with Transformable[Client] with CommonParams[Client] with ClientParams[Client] with WithClientTransport[Client] with WithClientAdmissionControl[Client] with WithClientSession[Client] with WithSessionQualifier[Client] with WithDefaultLoadBalancer[Client] with WithThriftPartitioningStrategy[Client] with ThriftRichClient with OpportunisticTlsParams[Client] with WithCompressionPreferences[Client] with Product with Serializable

    A ThriftMux com.twitter.finagle.Client.

    A ThriftMux com.twitter.finagle.Client.

    See also

    Configuration documentation

    Thrift documentation

    Mux documentation

  2. final case class Server(muxer: StackServer[Request, Response] = Server.defaultMuxer) extends StackBasedServer[Array[Byte], Array[Byte]] with ThriftRichServer with Parameterized[Server] with CommonParams[Server] with WithServerTransport[Server] with WithServerSession[Server] with WithServerAdmissionControl[Server] with OpportunisticTlsParams[Server] with WithCompressionPreferences[Server] with Product with Serializable

    A ThriftMux com.twitter.finagle.Server.

    A ThriftMux com.twitter.finagle.Server.

    See also

    Configuration documentation

    Thrift documentation

    Mux documentation

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val BaseClientStack: Stack[ServiceFactory[Request, Response]]

    Base com.twitter.finagle.Stack for ThriftMux clients.

  5. def BaseServerParams: Params

    Base com.twitter.finagle.Stack.Params for ThriftMux servers.

  6. val BaseServerStack: Stack[ServiceFactory[Request, Response]]

    Base com.twitter.finagle.Stack for ThriftMux servers.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def client: Client
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def newClient(dest: Name, label: String): ServiceFactory[ThriftClientRequest, Array[Byte]]
    Definition Classes
    ThriftMux → Client
  18. final def newClient(dest: String, label: String): ServiceFactory[ThriftClientRequest, Array[Byte]]
    Definition Classes
    Client
  19. final def newClient(dest: String): ServiceFactory[ThriftClientRequest, Array[Byte]]
    Definition Classes
    Client
  20. def newService(dest: Name, label: String): Service[ThriftClientRequest, Array[Byte]]
    Definition Classes
    ThriftMux → Client
  21. final def newService(dest: String, label: String): Service[ThriftClientRequest, Array[Byte]]
    Definition Classes
    Client
  22. final def newService(dest: String): Service[ThriftClientRequest, Array[Byte]]
    Definition Classes
    Client
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. val protocolFactory: TProtocolFactory
    Attributes
    protected
  26. def serve(addr: SocketAddress, factory: ServiceFactory[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    ThriftMux → Server
  27. final def serve(addr: String, service: Service[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  28. final def serve(addr: String, service: ServiceFactory[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  29. final def serve(addr: SocketAddress, service: Service[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  30. def serveAndAnnounce(name: String, service: Service[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  31. def serveAndAnnounce(name: String, service: ServiceFactory[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  32. def serveAndAnnounce(name: String, addr: String, service: Service[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  33. def serveAndAnnounce(name: String, addr: String, service: ServiceFactory[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  34. def serveAndAnnounce(name: String, addr: SocketAddress, service: Service[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  35. def serveAndAnnounce(name: String, addr: SocketAddress, service: ServiceFactory[Array[Byte], Array[Byte]]): ListeningServer
    Definition Classes
    Server
  36. def server: Server
  37. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  38. def toString(): String
    Definition Classes
    AnyRef → Any
  39. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  41. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  42. object Client extends ThriftClient with Serializable
  43. object Server extends Serializable

Inherited from finagle.Server[Array[Byte], Array[Byte]]

Inherited from AnyRef

Inherited from Any

Ungrouped