Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }