A com.twitter.finagle.Filter for Thrift services that enforces all requests specify a com.twitter.finagle.thrift.ClientId.
Indicates that the connection on which a Thrift request was issued is invalid, where "validity" is determined by com.twitter.finagle.thrift.ValidateThriftService.
A typeclass to construct a MethodIface by wrapping a ServiceIface.
Indicates that a request without a com.twitter.finagle.thrift.ClientId was issued to a server that requires them.
A com.twitter.finagle.Filter that overrides Thrift request sequence IDs, replacing them with our own randomly-assigned i32s.
Indicates that a Thrift response did not have the correct sequence ID according to that assigned by com.twitter.finagle.thrift.SeqIdFilter on the corresponding request.
Typeclass ServiceIfaceBuilder[T] creates T-typed interfaces from thrift clients.
The ThriftCall object represents a thrift dispatch on the channel.
Encapsulates the result of a call to a Thrift service.
A filter that invalidates a connection if it suffers from an irrecoverable application exception.
ClientId
provides the client identification of the incoming request if available.
ThriftClientBufferedCodec implements a buffered thrift transport that supports upgrading in order to provide TraceContexts across requests.
ThriftClientFramedCodec implements a framed thrift transport that supports upgrading in order to provide TraceContexts across requests.
ThriftServerBufferedCodec implements a buffered thrift transport.
Construct Service interface for a thrift method.
A registry for Thrift types.
Deprecation
Please use the new interface, com.twitter.finagle.Thrift, for constructing thrift clients and servers.
Thrift codecs
We provide both framed and buffered client protocol support, and server support for the framed protocol. The public implementations are:
The type of the server codec is
Service[Array[Byte], Array[Byte]]
and the client codecs areService[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 thriftProtocolFactory
.These transports are used by the services produced by the finagle thrift codegenerator.
In this example,
Hello
is the thrift interface, and the inner classServiceToClient
is provided by the finagle thrift code generator.