package param
Defines common com.twitter.finagle.Stack.Param's shared between finagle clients and servers.
- Alphabetic
- By Inheritance
- param
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class ClientAdmissionControlParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring the admission control modules of Finagle clients.
A collection of methods for configuring the admission control modules of Finagle clients.
- A
a Stack.Parameterized client to configure
- trait ClientParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for basic configuration of Finagle clients.
A collection of methods for basic configuration of Finagle clients.
- A
a Stack.Parameterized client to configure
- class ClientSessionParams[A <: Parameterized[A]] extends SessionParams[A]
A collection of methods for configuring sessions of the Finagle clients.
A collection of methods for configuring sessions of the Finagle clients.
Session might be viewed as logical connection that wraps a physical connection (i.e., transport) and controls its lifecycle. Sessions are used in Finagle to maintain liveness, requests cancellation, draining, and much more.
- A
a Stack.Parameterized client to configure.
- See also
SessionPoolingParams for pooling related configuration.
- class ClientTransportParams[A <: Parameterized[A]] extends TransportParams[A]
A collection of methods for configuring the Transport for Finagle clients.
A collection of methods for configuring the Transport for Finagle clients.
- A
a Stack.Parameterized client to configure
- trait CommonParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring common parameters (labels, stats receivers, etc) shared between Finagle clients and servers.
A collection of methods for configuring common parameters (labels, stats receivers, etc) shared between Finagle clients and servers.
- A
a Stack.Parameterized server/client to configure
- class DefaultLoadBalancingParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring the Load Balancing (default) module of Finagle clients.
A collection of methods for configuring the Load Balancing (default) module of Finagle clients.
- A
a Stack.Parameterized client to configure
- case class ExceptionStatsHandler(categorizer: stats.ExceptionStatsHandler) extends Product with Serializable
A class eligible for configuring a com.twitter.finagle.stats.ExceptionStatsHandler throughout finagle servers and clients.
A class eligible for configuring a com.twitter.finagle.stats.ExceptionStatsHandler throughout finagle servers and clients.
NB: Since the default for failures is to be scoped under "failures", if you set the default to be in another scope, it may be difficult for engineers unfamiliar with your stats to understand your service's key metrics.
- case class HighResTimer(timer: util.Timer) extends Product with Serializable
A class eligible for configuring a high resolution com.twitter.util.Timer such that tasks are run tighter to their schedule.
A class eligible for configuring a high resolution com.twitter.util.Timer such that tasks are run tighter to their schedule.
- timer
it is a requirement that it propagates Locals from scheduling time to execution time.
- Note
it is expected that the resolution should be sub-10 milliseconds.
- See also
Timer for a configuration that is appropriate for tasks that do not need fine-grained scheduling.
- case class Label(label: String) extends Product with Serializable
A class eligible for configuring a label used to identify finagle clients and servers.
- case class MetricBuilders(registry: Option[CoreMetricsRegistry]) extends Product with Serializable
A class eligible for configuring a com.twitter.finagle.service.CoreMetricsRegistry throughout finagle servers.
A class eligible for configuring a com.twitter.finagle.service.CoreMetricsRegistry throughout finagle servers. The CoreMetricsRegistry allows for constructing a set of essential metrics expressions, CoreMetricsRegistry is a stateful class and should be configured per-stack.
- case class Monitor(monitor: util.Monitor) extends Product with Serializable
A class eligible for configuring a com.twitter.util.Monitor throughout finagle servers and clients.
- case class OppTls(level: Option[Level]) extends Product with Serializable
A class eligible for configuring if a client's TLS mode is opportunistic.
A class eligible for configuring if a client's TLS mode is opportunistic. If it's not None, then the client will negotiate with the supplied level whether to use TLS or not before setting up TLS.
If it's None, it will not attempt to negotiate whether to use TLS or not with the remote peer, and if TLS is configured, the client will communicate over TLS.
- Note
This param will have no effect if the client's protocol does not support OpportunisticTls.
- case class ProtocolLibrary(name: String) extends Product with Serializable
A class eligible for configuring a client library name used to identify which client library a client is using.
- case class Reporter(reporter: ReporterFactory) extends Product with Serializable
A class eligible for configuring a com.twitter.finagle.util.ReporterFactory throughout finagle servers and clients.
- case class ResponseClassifier(responseClassifier: service.ResponseClassifier) extends Product with Serializable
A class eligible for configuring a com.twitter.finagle.service.ResponseClassifier which is used to determine the result of a request/response.
A class eligible for configuring a com.twitter.finagle.service.ResponseClassifier which is used to determine the result of a request/response.
This allows developers to give Finagle the additional application specific knowledge necessary in order to properly classify them. Without this, Finagle can only safely make judgements about the transport level failures.
As an example take an HTTP client that receives a response with a 500 status code back from a server. To Finagle this is a successful request/response based solely on the transport level. The application developer may want to treat all 500 status codes as failures and can do so via a com.twitter.finagle.service.ResponseClassifier.
It is a PartialFunction and as such multiple classifiers can be composed together via PartialFunction.orElse.
- Note
If unspecified, the default classifier is com.twitter.finagle.service.ResponseClassifier.Default which is a total function fully covering the input domain.
- See also
com.twitter.finagle.http.service.HttpResponseClassifier
for some HTTP classification tools.
- class ServerAdmissionControlParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring the server-side admission control modules of Finagle servers.
A collection of methods for configuring the server-side admission control modules of Finagle servers.
- A
a Stack.Parameterized server to configure
- class ServerSessionParams[A <: Parameterized[A]] extends SessionParams[A]
A collection of methods for configuring sessions of the Finagle servers.
A collection of methods for configuring sessions of the Finagle servers.
Session might be viewed as logical connection that wraps a physical connection (i.e., transport) and controls its lifecycle. Sessions are used in Finagle to maintain liveness, requests cancellation, draining, and much more.
- A
a Stack.Parameterized server to configure.
- class ServerTransportParams[A <: Parameterized[A]] extends TransportParams[A]
A collection of methods for configuring the Transport for Finagle servers.
A collection of methods for configuring the Transport for Finagle servers.
- A
a Stack.Parameterized server to configure
- class SessionParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring sessions of Finagle clients and servers.
A collection of methods for configuring sessions of Finagle clients and servers.
Session might be viewed as logical connection that wraps a physical connection (i.e., transport) and controls its lifecycle. Sessions are used in Finagle to maintain liveness, requests cancellation, draining, and much more.
- A
a Stack.Parameterized client or server to configure
- class SessionPoolingParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring the Pooling module of Finagle clients.
A collection of methods for configuring the Pooling module of Finagle clients.
- A
a Stack.Parameterized client to configure
- class SessionQualificationParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring modules which help Finagle determine the health of a session.
A collection of methods for configuring modules which help Finagle determine the health of a session. Some of these act as circuit breakers, instructing the load balancer to choose alternate paths. Effectively these enable your client to maintain higher success rates.
- A
a Stack.Parameterized client to configure
- case class Stats(statsReceiver: StatsReceiver) extends Product with Serializable
A class eligible for configuring a com.twitter.finagle.stats.StatsReceiver throughout finagle clients and servers.
- case class Timer(timer: util.Timer) extends Product with Serializable
A class eligible for configuring a com.twitter.util.Timer used throughout finagle clients and servers.
A class eligible for configuring a com.twitter.util.Timer used throughout finagle clients and servers.
- timer
it is a requirement that it propagates Locals from scheduling time to execution time.
- See also
HighResTimer for a configuration that needs a more fine-grained timer as this is typically implemented via a "hashed wheel timer" which is optimized for approximated I/O timeout scheduling.
- case class Tracer(tracer: tracing.Tracer) extends Product with Serializable
A class eligible for configuring a com.twitter.finagle.tracing.Tracer throughout finagle servers and clients.
- abstract class TransportParams[A <: Parameterized[A]] extends AnyRef
A collection of methods for configuring the Transport params of Finagle servers or clients.
A collection of methods for configuring the Transport params of Finagle servers or clients.
Transport is a Finagle abstraction over the network connection (i.e., a TCP connection).
- A
a Stack.Parameterized server/client to configure
- Note
This class is abstract in a sense that it's base for both server and client transports.
- See also
ClientTransportParams for client-specific params ServerTransportParams for server-specific params
- trait WithClientAdmissionControl[A <: Parameterized[A]] extends AnyRef
- trait WithClientSession[A <: Parameterized[A]] extends AnyRef
Provides the
withSession
(client's session) API entry point.Provides the
withSession
(client's session) API entry point.- See also
- trait WithClientTransport[A <: Parameterized[A]] extends AnyRef
Provides the
withTransport
(client's transport) API entry point.Provides the
withTransport
(client's transport) API entry point.- See also
- trait WithDefaultLoadBalancer[A <: Parameterized[A]] extends AnyRef
Provides the
withLoadBalancer
(default balancer) API entry point.Provides the
withLoadBalancer
(default balancer) API entry point.- See also
- trait WithServerAdmissionControl[A <: Parameterized[A]] extends AnyRef
Provides the
withAdmissionControl
API entry point.Provides the
withAdmissionControl
API entry point.- See also
- trait WithServerSession[A <: Parameterized[A]] extends AnyRef
Provides the
withSession
API entry point for servers.Provides the
withSession
API entry point for servers.- See also
- trait WithServerTransport[A <: Parameterized[A]] extends AnyRef
Provides the
withTransport
(server's transport) API entry point.Provides the
withTransport
(server's transport) API entry point.- See also
- trait WithSessionPool[A <: Parameterized[A]] extends AnyRef
Provides the
withSessionPool
(default pool) API entry point.Provides the
withSessionPool
(default pool) API entry point.- See also
- trait WithSessionQualifier[A <: Parameterized[A]] extends AnyRef
Provides the
withSessionQualifier
API entry point.Provides the
withSessionQualifier
API entry point.- See also
Value Members
- object ExceptionStatsHandler extends Serializable
- object HighResTimer extends Serializable
- object Label extends Serializable
- object MetricBuilders extends Serializable
- object Monitor extends Serializable
- object OppTls extends Serializable
- object ProtocolLibrary extends Serializable
- object Reporter extends Serializable
- object ResponseClassifier extends Serializable
- object Stats extends Serializable
- object Timer extends Serializable
- object Tracer extends Serializable