Search Results for

    Show / Hide Table of Contents

    Class ConsistentHashingGroup

    This class represents a Group router that sends messages to a Routee determined using consistent-hashing. Please refer to ConsistentHashingRoutingLogic for more information on consistent hashing.

    Inheritance
    object
    RouterConfig
    Group
    ConsistentHashingGroup
    Implements
    ISurrogated
    IEquatable<RouterConfig>
    IEquatable<Group>
    Inherited Members
    Group.Props()
    Group.CreateRouterActor()
    Group.Equals(Group)
    Group.Equals(object)
    Group.GetHashCode()
    RouterConfig.RouterDispatcher
    RouterConfig.RoutingLogicController(RoutingLogic)
    RouterConfig.IsManagementMessage(object)
    RouterConfig.StopRouterWhenAllRouteesRemoved
    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 ConsistentHashingGroup : Group, ISurrogated, IEquatable<RouterConfig>, IEquatable<Group>

    Constructors

    | Edit this page View Source

    ConsistentHashingGroup(Config)

    Initializes a new instance of the ConsistentHashingGroup class.

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

    The configuration to use to lookup paths used by the group router.

    note

    If 'routees.path' is defined in the provided configuration then those paths will be used by the router. 'virtual-nodes-factor' defaults to 0 (zero) if it is not defined in the provided configuration.

    | Edit this page View Source

    ConsistentHashingGroup(IEnumerable<string>)

    Initializes a new instance of the ConsistentHashingGroup class.

    Declaration
    public ConsistentHashingGroup(IEnumerable<string> paths)
    Parameters
    Type Name Description
    IEnumerable<string> paths

    A list of actor paths used by the group router.

    | Edit this page View Source

    ConsistentHashingGroup(IEnumerable<string>, ConsistentHashMapping)

    Initializes a new instance of the ConsistentHashingGroup class.

    Declaration
    public ConsistentHashingGroup(IEnumerable<string> paths, ConsistentHashMapping hashMapping)
    Parameters
    Type Name Description
    IEnumerable<string> paths

    An enumeration of actor paths used by the group router.

    ConsistentHashMapping hashMapping

    The consistent hash mapping function to use on incoming messages.

    | Edit this page View Source

    ConsistentHashingGroup(IEnumerable<string>, int, ConsistentHashMapping, string)

    Initializes a new instance of the ConsistentHashingGroup class.

    Declaration
    public ConsistentHashingGroup(IEnumerable<string> paths, int virtualNodesFactor, ConsistentHashMapping hashMapping, string routerDispatcher)
    Parameters
    Type Name Description
    IEnumerable<string> paths

    An enumeration of actor paths used by the group router.

    int virtualNodesFactor

    The number of virtual nodes to use on the hash ring.

    ConsistentHashMapping hashMapping

    The consistent hash mapping function to use on incoming messages.

    string routerDispatcher

    The dispatcher to use when passing messages to the routees.

    | Edit this page View Source

    ConsistentHashingGroup(params string[])

    Initializes a new instance of the ConsistentHashingGroup class.

    Declaration
    public ConsistentHashingGroup(params string[] paths)
    Parameters
    Type Name Description
    string[] paths

    A list of actor paths used by the group router.

    Properties

    | Edit this page View Source

    VirtualNodesFactor

    Virtual nodes used in the ConsistentHash<T>.

    Declaration
    public int VirtualNodesFactor { get; }
    Property Value
    Type Description
    int

    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

    GetPaths(ActorSystem)

    Retrieves the actor paths used by this router during routee selection.

    Declaration
    public override IEnumerable<string> GetPaths(ActorSystem system)
    Parameters
    Type Name Description
    ActorSystem system

    The actor system that owns this router.

    Returns
    Type Description
    IEnumerable<string>

    An enumeration of actor paths used during routee selection

    Overrides
    Group.GetPaths(ActorSystem)
    | Edit this page View Source

    ToSurrogate(ActorSystem)

    Creates a surrogate representation of the current ConsistentHashingGroup.

    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 ConsistentHashingGroup.

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

    WithDispatcher(string)

    Creates a new ConsistentHashingGroup router with a given dispatcher id.

    note

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

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

    The dispatcher id used to configure the new router.

    Returns
    Type Description
    ConsistentHashingGroup

    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)
    Exceptions
    Type Condition
    ArgumentException

    This exception is thrown if the given routerConfig is not a ConsistentHashingGroup.

    | Edit this page View Source

    WithHashMapping(ConsistentHashMapping)

    Creates a new ConsistentHashingGroup router with a given ConsistentHashMapping.

    note

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

    Declaration
    public ConsistentHashingGroup WithHashMapping(ConsistentHashMapping mapping)
    Parameters
    Type Name Description
    ConsistentHashMapping mapping

    The ConsistentHashMapping used to configure the new router.

    Returns
    Type Description
    ConsistentHashingGroup

    A new router with the provided mapping.

    | Edit this page View Source

    WithVirtualNodesFactor(int)

    Creates a new ConsistentHashingGroup router with a given VirtualNodesFactor.

    note

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

    Declaration
    public ConsistentHashingGroup WithVirtualNodesFactor(int vnodes)
    Parameters
    Type Name Description
    int vnodes

    The VirtualNodesFactor used to configure the new router.

    Returns
    Type Description
    ConsistentHashingGroup

    A new router with the provided vnodes.

    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