C# (CSharp) Akka.Routing Namespace

Classes

Name Description
ActorRefRoutee
ActorSelectionRoutee
Broadcast
BroadcastGroup This class represents a Group router that sends messages it receives to all of its routees.
BroadcastGroup.BroadcastGroupSurrogate This class represents a surrogate of a BroadcastGroup router. Its main use is to help during the serialization process.
BroadcastPool This class represents a Pool router that sends messages it receives to all of its routees.
BroadcastPool.BroadcastPoolSurrogate This class represents a surrogate of a BroadcastPool router. Its main use is to help during the serialization process.
BroadcastRoutingLogic This class contains logic used by a Router to route a message to multiple routees.
ConsistentHashableEnvelope This class represents a RouterEnvelope that can be wrapped around a message in order to make it hashable for use with ConsistentHashingGroup or ConsistentHashingPool routers.
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.
ConsistentHashingGroup.ConsistentHashingGroupSurrogate This class represents a surrogate of a ConsistentHashingGroup router. Its main use is to help during the serialization process.
ConsistentHashingPool This class represents a Pool router that sends messages to a Routee determined using consistent-hashing. Please refer to ConsistentHashingRoutingLogic for more information on consistent hashing. Using Resizer with ConsistentHashingPool is potentially harmful, as hash ranges might change radically during live message processing. This router works best with fixed-sized pools or fixed number of routees per node in the event of clustered deployments.
ConsistentHashingPool.ConsistentHashingPoolSurrogate This class represents a surrogate of a ConsistentHashingPool router. Its main use is to help during the serialization process.
ConsistentHashingRouter Static class for assisting with ConsistentHashMapping instances
ConsistentHashingRoutingLogic This class contains logic used by a Router to route a message to a Routee determined using consistent-hashing. This process has the router select a routee based on a message's consistent hash key. There are 3 ways to define the key, which can be used individually or combined to form the key. The ConsistentHashMapping is tried first.
  1. You can define a ConsistentHashMapping or use WithHashMapping of the router to map incoming messages to their consistent hash key. This makes the decision transparent for the sender.
  2. Messages may implement IConsistentHashable. The hash key is part of the message and it's convenient to define it together with the message definition.
  3. The message can be wrapped in a ConsistentHashableEnvelope to define what data to use for the consistent hash key. The sender knows what key to use.
ConsistentRoutee INTERNAL API Important to use ActorRef with full address, with host and port, in the hash ring, so that same ring is produced on different nodes. The ConsistentHash uses toString of the ring nodes, and the ActorRef itself isn't a good representation, because LocalActorRef doesn't include the host and port.
NoRoutee
RandomGroup Class RandomGroup.
RandomGroup.RandomGroupSurrogate This class represents a surrogate of a RandomGroup router. Its main use is to help during the serialization process.
RandomLogic This class contains logic used by a Router to route a message to a random Routee.
RandomPool
RandomPool.RandomPoolSurrogate This class represents a surrogate of a RandomPool router. Its main use is to help during the serialization process.
ResizablePoolActor
ResizablePoolCell INTERNAL API
RoundRobinGroup This class represents a Group router that sends messages to a Routee determined using round-robin. This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates again from the beginning of the list. For concurrent calls, round robin is just a best effort. The configuration parameter trumps the constructor arguments. This means that if you provide `paths` during instantiation they will be ignored if the router is defined in the configuration file for the actor being used.
RoundRobinGroup.RoundRobinGroupSurrogate This class represents a surrogate of a RoundRobinGroup router. Its main use is to help during the serialization process.
RoundRobinPool This class represents a Pool router that sends messages to a Routee determined using round-robin. This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates again from the beginning of the list. For concurrent calls, round robin is just a best effort.
RoundRobinPool.RoundRobinPoolSurrogate This class represents a surrogate of a RoundRobinPool router. Its main use is to help during the serialization process.
RoundRobinRoutingLogic This class contains logic used by a Router to route a message to a Routee determined using round-robin. This process has the router select from a list of routees in sequential order. When the list has been exhausted, the router iterates again from the beginning of the list. For concurrent calls, round robin is just a best effort.
RoutedActorCell
RoutedActorRef
Routee
Router
RouterActor INTERNAL API
RouterEnvelope
RouterPoolActor INTERNAL API Actor implementation for Pool routers.
RoutingLogic This class contains logic used by a Router to route messages to one or more actors. These actors are known in the system as a Routee.
ScatterGatherFirstCompletedGroup
ScatterGatherFirstCompletedGroup.ScatterGatherFirstCompletedGroupSurrogate This class represents a surrogate of a ScatterGatherFirstCompletedGroup router. Its main use is to help during the serialization process.
ScatterGatherFirstCompletedPool Class RoundRobinPool.
ScatterGatherFirstCompletedPool.ScatterGatherFirstCompletedPoolSurrogate This class represents a surrogate of a ScatterGatherFirstCompletedPool router. Its main use is to help during the serialization process.
ScatterGatherFirstCompletedRoutees
ScatterGatherFirstCompletedRoutingLogic This class contains logic used by a Router to route a message to a Routee determined using scatter-gather-first-completed. This process has the router send a message to all of its routees. 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.
SeveralRoutees
SmallestMailboxPool This class represents a Pool router that sends messages to a Routee determined using smallest-mailbox. Please refer to SmallestMailboxRoutingLogic for more information on the selection process.
SmallestMailboxPool.SmallestMailboxPoolSurrogate This class represents a surrogate of a SmallestMailboxPool router. Its main use is to help during the serialization process.
SmallestMailboxRoutingLogic
TailChoppingGroup A router group that selects a random routee, then waits an interval before sending to a different routee. The first response is used and the remaining discarded.
TailChoppingGroup.TailChoppingGroupSurrogate This class represents a surrogate of a TailChoppingGroup router. Its main use is to help during the serialization process.
TailChoppingPool A router pool that selects a random routee, then waits an interval before sending to a different routee. The first response is used and the remaining discarded.
TailChoppingPool.TailChoppingPoolSurrogate This class represents a surrogate of a TailChoppingPool router. Its main use is to help during the serialization process.
TailChoppingRoutee A single point routee that routes to randomly chosen routees at a given interval. Accepts the first response.
TailChoppingRoutingLogic The routing logic for the TailChoppingRouter. This router will send a message to a randomly chosen routee, and after a delay, send to a different randomly chosen routee. The first response is forwarded, and all other responses are discarded.