public DxStoreStateMachine(Policy policy, DxStoreInstance instance, INodeEndPoints <ServiceEndpoint> nodeEndPoints, IStorage <string, DxStoreCommand> storage, GroupMembersMesh mesh, Counters perfCounter, Round <string>?roundInitial) : base(nodeEndPoints, mesh, storage, policy, null, perfCounter, roundInitial) { this.instance = instance; this.self = nodeEndPoints.Self; this.localDataStore = instance.LocalDataStore; this.Mesh = mesh; this.truncator = new PeriodicPaxosTrancator(instance); }
public GroupMembersMesh(string identity, INodeEndPoints <ServiceEndpoint> nodeEndPoints, InstanceGroupConfig groupConfig) { this.groupConfig = groupConfig; this.identity = identity; this.nodeEndPoints = nodeEndPoints; this.incoming = Subject.Synchronize <Tuple <string, Message>, Tuple <string, Message> >(new Subject <Tuple <string, Message> >(), Scheduler.TaskPool); this.factoryByEndPoint = new ConcurrentDictionary <ServiceEndpoint, WCF.CachedChannelFactory <IDxStoreInstance> >(); ObservableExtensions.Subscribe <Tuple <string, Message> >(this.incoming, delegate(Tuple <string, Message> item) { this.TraceMessage(false, item); }); }