Ejemplo n.º 1
0
        private pbft_message Create_Block()
        {
            /*the client should send a message from the network and the On_Message_Received will be excuted this must be changed
             * THE primary should contact the client and request for a message and then fom that message create a new block*/

            Console.WriteLine("waiting for the clinet to send A message");
            System.Console.WriteLine();
            string Block = Console.ReadLine();

            /* create a new block and this should be in a function with */

            PBFT_Messages.pbft_message new_block = new PBFT_Messages.pbft_message()
            {
                message      = Block,
                id           = configs.PublicKey,
                message_Type = Message_Type.preprepare,
                seq          = state.Confirmed_messages.Count + 1,
                view_number  = state.view_number,
            };
            Temp_Message temp = new Temp_Message()
            {
                commit_counter  = 0,
                Prepare_counter = 0,
                message         = new_block.message,
                id          = new_block.id,
                seq         = new_block.seq,
                view_number = new_block.view_number,
            };

            Temporary_Messages.Add(Tuple.Create(new_block.seq, new_block.view_number), temp);
            return(new_block);
        }
Ejemplo n.º 2
0
 public void Add_To_Temp(Func <bool> predicate, pbft_message Message, Tuple <int, int> Message_Tuple)
 {
     if (!predicate())
     {
         Temp_Message temp = new Temp_Message()
         {
             commit_counter  = 0,
             Prepare_counter = 0,
             message         = Message.message,
             id          = Message.id,
             seq         = Message.seq,
             view_number = Message.view_number,
         };
         Temporary_Messages.Add(Message_Tuple, temp);
         System.Console.WriteLine("Message with sequence number" + Message.seq + " and viewnumber " + Message.view_number + " added to the temporary pool");
     }
 }