A context contains a number of let-delimited bindings.
A deadline is the time by which some action (e.g., a request) must complete.
A deadline is the time by which some action (e.g., a request) must complete. A deadline has a timestamp in addition to the deadline. This timestamp denotes the time at which the deadline was enacted.
This is done so that they may be reconciled over process boundaries; e.g., to account for variable latencies in message deliveries.
the time at which the deadline was enacted.
the time by which the action must complete.
A type of context that is local to the process.
A type of context that is local to the process. The type of Key is also unique (generative) to each instance of this context, so that keys cannot be used across different instances of this context type.
A marshalled context contains bindings that may be marshalled and sent across process boundaries.
A marshalled context contains bindings that may be marshalled and sent across process boundaries. A set of marshalled bindings may be restored in the local environment. Thus we can use marshalled contexts to propagate a set of bindings across a whole request tree.
Contains the remote information for a request, if available.
Retries contains the number of times a request has been retried.
Retries contains the number of times a request has been retried.
which retry attempt this is. Will be 0 if the request is not a retry.
Used to signal that a request was initiated as a "backup request".
Used to signal that a request was initiated as a "backup request".
Note that these are broadcast across the rest of the request's call graph.
MethodBuilder's idempotent
for configuring a client to use backups.
com.twitter.finagle.client.BackupRequestFilter for details on what a backup request is.
com.twitter.finagle.context.Contexts that are managed by Finagle.
A broadcast context for deadlines.
A context contains a number of let-delimited bindings. Bindings are indexed by type Key[A] in a typesafe manner. Later bindings shadow earlier ones.
Note that the implementation of context maintains all bindings in a linked list; context lookup requires a linear search.