Search Results for

    Show / Hide Table of Contents

    Class TailChoppingPool

    This class represents a Pool router that sends messages to a Routee determined using tail-chopping. This process has the router select a random routee, then waits an interval before sending to a different randomly chosen routee. The first response is used and the remaining are discarded. If the none of the routees respond within a specified time limit, a timeout failure occurs.

    Inheritance
    object
    RouterConfig
    Pool
    TailChoppingPool
    Implements
    ISurrogated
    IEquatable<RouterConfig>
    IEquatable<Pool>
    Inherited Members
    Pool.NrOfInstances
    Pool.UsePoolDispatcher
    Pool.Resizer
    Pool.SupervisorStrategy
    Pool.Props(Props)
    Pool.StopRouterWhenAllRouteesRemoved
    Pool.CreateRouterActor()
    Pool.DefaultSupervisorStrategy
    Pool.Equals(Pool)
    Pool.Equals(object)
    Pool.GetHashCode()
    RouterConfig.RouterDispatcher
    RouterConfig.RoutingLogicController(RoutingLogic)
    RouterConfig.IsManagementMessage(object)
    RouterConfig.VerifyConfig(ActorPath)
    RouterConfig.Equals(RouterConfig)
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Akka.Routing
    Assembly: Akka.dll
    Syntax
    public sealed class TailChoppingPool : Pool, ISurrogated, IEquatable<RouterConfig>, IEquatable<Pool>

    Constructors

    | Edit this page View Source

    TailChoppingPool(Config)

    Initializes a new instance of the TailChoppingPool class.

    note

    'nr-of-instances', 'within', and 'tail-chopping-router.interval' must be defined in the provided configuration.

    Declaration
    public TailChoppingPool(Config config)
    Parameters
    Type Name Description
    Config config

    The configuration used to configure the pool.

    | Edit this page View Source

    TailChoppingPool(int, Resizer, SupervisorStrategy, string, TimeSpan, TimeSpan, bool)

    Initializes a new instance of the TailChoppingPool class.

    Declaration
    public TailChoppingPool(int nrOfInstances, Resizer resizer, SupervisorStrategy supervisorStrategy, string routerDispatcher, TimeSpan within, TimeSpan interval, bool usePoolDispatcher = false)
    Parameters
    Type Name Description
    int nrOfInstances

    The initial number of routees in the pool.

    Resizer resizer

    The resizer to use when dynamically allocating routees to the pool.

    SupervisorStrategy supervisorStrategy

    The strategy to use when supervising the pool.

    string routerDispatcher

    The dispatcher to use when passing messages to the routees.

    TimeSpan within

    The amount of time to wait for a response.

    TimeSpan interval

    The interval to wait before sending to the next routee.

    bool usePoolDispatcher

    true to use the pool dispatcher; otherwise false.

    | Edit this page View Source

    TailChoppingPool(int, TimeSpan, TimeSpan)

    Initializes a new instance of the TailChoppingPool class.

    Declaration
    public TailChoppingPool(int nrOfInstances, TimeSpan within, TimeSpan interval)
    Parameters
    Type Name Description
    int nrOfInstances

    The initial number of routees in the pool.

    TimeSpan within

    The amount of time to wait for a response.

    TimeSpan interval

    The interval to wait before sending to the next routee.

    Properties

    | Edit this page View Source

    Interval

    The amount of time to wait before sending to the next routee.

    Declaration
    public TimeSpan Interval { get; }
    Property Value
    Type Description
    TimeSpan
    | Edit this page View Source

    Within

    The amount of time to wait for a response.

    Declaration
    public TimeSpan Within { get; }
    Property Value
    Type Description
    TimeSpan

    Methods

    | Edit this page View Source

    CreateRouter(ActorSystem)

    Creates a router that is responsible for routing messages to routees within the provided system.

    Declaration
    public override Router CreateRouter(ActorSystem system)
    Parameters
    Type Name Description
    ActorSystem system

    The actor system that owns this router.

    Returns
    Type Description
    Router

    The newly created router tied to the given system.

    Overrides
    RouterConfig.CreateRouter(ActorSystem)
    | Edit this page View Source

    GetNrOfInstances(ActorSystem)

    Used by the Akka.Routing.RoutedActorCell to determine the initial number of routees.

    Declaration
    public override int GetNrOfInstances(ActorSystem system)
    Parameters
    Type Name Description
    ActorSystem system

    The actor system that owns this router.

    Returns
    Type Description
    int

    The number of routees associated with this pool.

    Overrides
    Pool.GetNrOfInstances(ActorSystem)
    | Edit this page View Source

    ToSurrogate(ActorSystem)

    Creates a surrogate representation of the current TailChoppingPool.

    Declaration
    public override ISurrogate ToSurrogate(ActorSystem system)
    Parameters
    Type Name Description
    ActorSystem system

    The actor system that owns this router.

    Returns
    Type Description
    ISurrogate

    The surrogate representation of the current TailChoppingPool.

    Overrides
    RouterConfig.ToSurrogate(ActorSystem)
    | Edit this page View Source

    WithDispatcher(string)

    Creates a new TailChoppingPool router with a given dispatcher id.

    note

    This method is immutable and returns a new instance of the router.

    Declaration
    public TailChoppingPool WithDispatcher(string dispatcher)
    Parameters
    Type Name Description
    string dispatcher

    The dispatcher id used to configure the new router.

    Returns
    Type Description
    TailChoppingPool

    A new router with the provided dispatcher id.

    | Edit this page View Source

    WithFallback(RouterConfig)

    Configure the current router with an auxiliary router for routes that it does not know how to handle.

    Declaration
    public override RouterConfig WithFallback(RouterConfig routerConfig)
    Parameters
    Type Name Description
    RouterConfig routerConfig

    The router to use as an auxiliary source.

    Returns
    Type Description
    RouterConfig

    The router configured with the auxiliary information.

    Overrides
    RouterConfig.WithFallback(RouterConfig)
    | Edit this page View Source

    WithResizer(Resizer)

    Creates a new TailChoppingPool router with a given Resizer.

    note

    This method is immutable and returns a new instance of the router.

    Declaration
    public TailChoppingPool WithResizer(Resizer resizer)
    Parameters
    Type Name Description
    Resizer resizer

    The Resizer used to configure the new router.

    Returns
    Type Description
    TailChoppingPool

    A new router with the provided resizer.

    | Edit this page View Source

    WithSupervisorStrategy(SupervisorStrategy)

    Creates a new TailChoppingPool router with a given SupervisorStrategy.

    note

    This method is immutable and returns a new instance of the router.

    Declaration
    public TailChoppingPool WithSupervisorStrategy(SupervisorStrategy strategy)
    Parameters
    Type Name Description
    SupervisorStrategy strategy

    The SupervisorStrategy used to configure the new router.

    Returns
    Type Description
    TailChoppingPool

    A new router with the provided strategy.

    Implements

    ISurrogated
    IEquatable<T>
    IEquatable<T>

    Extension Methods

    ObjectExtensions.IsDefaultForType<T>(T)
    ObjectExtensions.AsOption<T>(T)
    Extensions.AsInstanceOf<T>(object)
    In this article
    • githubEdit this page
    • View Source
    Back to top
    Contribute
    • Project Chat
    • Discussion Forum
    • Source Code
    Support
    • Akka.NET Support Plans
    • Akka.NET Observability Tools
    • Akka.NET Training & Consulting
    Maintained By
    • Petabridge - The Akka.NET Company
    • Learn Akka.NET