示例#1
0
 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);
 }
示例#2
0
 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);
     });
 }