protected internal virtual void InitRoutees(RouterSpecification specification) { for (var i = 0; i < specification.InitialPoolSize; ++i) { var protocols = new Type[] { specification.RouterProtocol, typeof(IAddressable) }; var two = ChildActorFor(protocols, specification.RouterDefinition); Subscribe(Routee <P> .Of(two.Get <P>(0), two.Get <IAddressable>(1))); } }
protected internal Router(RouterSpecification specification, IRoutingStrategy routingStrategy) { for (int i = 0; i < specification.PoolSize; i++) { ChildActorFor(specification.RouterDefinition, specification.RouterProtocol); } this.routees = Routee.ForAll(LifeCycle.Environment.Children); this.routingStrategy = routingStrategy; }
protected internal BroadcastRouter(RouterSpecification specification) : base(specification) { }
public RandomRouter(RouterSpecification <P> specification, Random seededRandom) : base(specification) => _random = seededRandom;
public RandomRouter(RouterSpecification <P> specification, int seed) : this(specification, new Random(seed)) { }
protected ContentBasedRouter(RouterSpecification specification) : base(specification) { }
public Router(RouterSpecification specification) { routees = new List <Routee <P> >(); InitRoutees(specification); }
public RandomRouter(RouterSpecification specification) : base(specification) { random = new Random(); }