Used to create a thrift based MultiReader when a ClientId will neither not be provided or will be provided to the codec was part of creating a custom client builder.
Used to create a thrift based MultiReader when a ClientId will neither not be provided or will be provided to the codec was part of creating a custom client builder. This is provided as a separate method for Java compatability.
endpoints for Kestrel
the name of the queue to read from
A MultiReaderBuilderThrift
Used to create a thrift based MultiReader with a ClientId when a custom client builder will not be used.
Used to create a thrift based MultiReader with a ClientId when a custom client builder will not be used. If a custom client builder will be used then it is more reasonable to use the version of apply that does not take a ClientId or else the client id will need to be passed to both apply and the codec in clientBuilder.
endpoints for Kestrel
the name of the queue to read from
the clientid to be used
A MultiReaderBuilderThrift
Used to create a thrift based MultiReader with a ClientId when a custom client builder will not be used.
Used to create a thrift based MultiReader with a ClientId when a custom client builder will not be used. If a custom client builder will be used then it is more reasonable to use the version of apply that does not take a ClientId or else the client id will need to be passed to both apply and the codec in clientBuilder.
a com.twitter.finagle.Name representing the Kestrel endpoints to connect to
the name of the queue to read from
the clientid to be used
A MultiReaderBuilderThrift
Create a new MultiReader which dispatches requests to dest
using the thrift protocol.
Create a new MultiReader which dispatches requests to dest
using the thrift protocol.
the name of the destination which requests are dispatched to. See Names for more detail.
the name of the queue to read from
the clientid to be used
TODO: dest
is eagerly resolved at client creation time, so name resolution does not
behave dynamically with respect to local dtabs (unlike
com.twitter.finagle.factory.BindingFactory. In practice this is not a problem since
ReadHandle is not on the request path. Weights are discarded.
Helper for getting the right codec for the thrift protocol
Helper for getting the right codec for the thrift protocol
the ThriftClientFramedCodec codec
Read from multiple clients in round-robin fashion, "grabby hands" style using Kestrel's memcache protocol. The load balancing is simple, and falls out naturally from the user of the {{Offer}} mechanism: When there are multiple available messages, round-robin across them. Otherwise, wait for the first message to arrive.
Example with a custom client builder:
Example without a customer client builder so clientId passed to apply