public Acceptor.Acceptor BuildInstance(IMessageBroker broker) { IMessageReceiver receiver = new MessageReceiver(); IPaxosRoleLoopMessageListener listener = new PaxosRoleLoopMessageListener(); Acceptor.Acceptor instance = new Acceptor.Acceptor(receiver, listener, broker); broker.AddReceiver(instance.RoleState.MessageSender.UniqueId, receiver); return(instance); }
public Replica.Replica BuildInstance(IMessageBroker broker, IStateMachine stateMachine) { IMessageReceiver receiver = new MessageReceiver(); IPaxosRoleLoopMessageListener listener = new PaxosRoleLoopMessageListener(); Replica.Replica instance = new Replica.Replica(receiver, listener, broker, stateMachine); broker.AddReceiver(instance.RoleState.MessageSender.UniqueId, receiver); return(instance); }
public Leader.Leader BuildInstance(IMessageBroker broker, List <Acceptor.Acceptor> acceptors, List <Replica.Replica> replicas) { IMessageReceiver receiver = new MessageReceiver(); IPaxosRoleLoopMessageListener listener = new PaxosRoleLoopMessageListener(); List <MessageSender> replicaMsgSender = (from rep in replicas select rep.RoleState.MessageSender).ToList(); List <MessageSender> acceptorMsgSender = (from acp in acceptors select acp.RoleState.MessageSender).ToList(); Leader.Leader instance = new Leader.Leader(receiver, listener, broker, acceptorMsgSender, replicaMsgSender, new TimeOut()); broker.AddReceiver(instance.RoleState.MessageSender.UniqueId, receiver); return(instance); }