@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); }
@Override public void writeTo(DataOutput out) throws Exception { out.writeByte(type); messageID.writeTo(out); Bits.writeLong(sequencerNumber, out); Util.writeAddresses(destinations, out); }
@Override public int size() { return (int) (Global.BYTE_SIZE + messageID.serializedSize() + Bits.size(sequencerNumber) + Util.size(destinations)); }
/** * 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); }
public Address getOrigin() { return messageID.getAddress(); }