This is the method to override/implement to create your own Service.
This is the method to override/implement to create your own Service.
Dispatch a request, satisfying Promise p
with the response;
the returned Future is satisfied when the dispatch is complete:
only one request is admitted at any given time.
Dispatch a request, satisfying Promise p
with the response;
the returned Future is satisfied when the dispatch is complete:
only one request is admitted at any given time.
Note that GenSerialClientDispatcher manages interrupts,
satisfying p
should it be interrupted -- implementors beware:
use only updateIfEmpty
variants for satisfying the Promise.
GenSerialClientDispatcher will also attempt to satisfy the promise
if the returned Future[Unit]
fails.
Determines whether this service is available (can accept requests with a reasonable likelihood of success).
Determines whether this service is available (can accept requests with a reasonable likelihood of success).
The current availability Status of this Service.
The current availability Status of this Service.
A generic pipelining dispatcher, which assumes that servers will respect normal pipelining semantics, and that replies will be sent in the same order as requests were sent. Exploits GenSerialClientDispatcher to serialize requests.
Because many requests might be sharing the same transport, Futures returned by PipeliningDispatcher#apply are masked, and will ignore interrupts. This ensures that interrupting a Future in one request won't change the result of another request.