示例#1
0
 @Override
 public void readFrom(DataInput in) throws Exception {
   type = in.readByte();
   messageID.readFrom(in);
   sequencerNumber = Bits.readLong(in);
   destinations = (Collection<Address>) Util.readAddresses(in, ArrayList.class);
 }
示例#2
0
 @Override
 public void writeTo(DataOutput out) throws Exception {
   out.writeByte(type);
   messageID.writeTo(out);
   Bits.writeLong(sequencerNumber, out);
   Util.writeAddresses(destinations, out);
 }
示例#3
0
 @Override
 public int size() {
   return (int)
       (Global.BYTE_SIZE
           + messageID.serializedSize()
           + Bits.size(sequencerNumber)
           + Util.size(destinations));
 }
示例#4
0
 /**
  * Add a new message sent
  *
  * @param messageID the message ID
  * @param destinations the destination set
  * @param initialSequenceNumber the initial sequence number
  * @param deliverToMyself true if *this* member is in destination sent, false otherwise
  */
 public void addNewMessageToSend(
     MessageID messageID,
     Collection<Address> destinations,
     long initialSequenceNumber,
     boolean deliverToMyself) {
   MessageInfo messageInfo = new MessageInfo(destinations, initialSequenceNumber, deliverToMyself);
   if (deliverToMyself) {
     messageInfo.setProposeReceived(messageID.getAddress());
   }
   sentMessages.put(messageID, messageInfo);
 }
示例#5
0
 public Address getOrigin() {
   return messageID.getAddress();
 }