org.mpisws.p2p.transport.peerreview.message
Class UserDataMessage<Handle extends RawSerializable>
java.lang.Object
org.mpisws.p2p.transport.peerreview.message.PeerReviewMessage
org.mpisws.p2p.transport.peerreview.message.UserDataMessage<Handle>
- All Implemented Interfaces:
- Evidence, PeerReviewConstants, RawSerializable
- Direct Known Subclasses:
- OutgoingUserDataMessage
public class UserDataMessage<Handle extends RawSerializable>
- extends PeerReviewMessage
- implements Evidence
Note, it's only Evidence when the type has been changed.
MSG_USERDATA
byte type = MSG_USERDATA
long long topSeq
handle senderHandle
hash hTopMinusOne
signature sig
byte relevantCode // 0xFF = fully, otherwise length in bytes
[payload bytes follow]
- Author:
- Jeff Hoye
Fields inherited from interface org.mpisws.p2p.transport.peerreview.PeerReviewConstants |
CHAL_AUDIT, CHAL_SEND, DEFAULT_AUTH_PUSH_INTERVAL_MICROS, DEFAULT_CHECKPOINT_INTERVAL_MICROS, DEFAULT_TIME_TOLERANCE_MICROS, EVT_ACK, EVT_CHECKPOINT, EVT_INIT, EVT_MAX_SOCKET_EVT, EVT_MIN_SOCKET_EVT, EVT_RECV, EVT_SEND, EVT_SENDSIGN, EVT_SIGN, EVT_SOCKET_CAN_READ, EVT_SOCKET_CAN_RW, EVT_SOCKET_CAN_WRITE, EVT_SOCKET_CLOSE, EVT_SOCKET_CLOSED, EVT_SOCKET_EXCEPTION, EVT_SOCKET_OPEN_INCOMING, EVT_SOCKET_OPEN_OUTGOING, EVT_SOCKET_OPENED_OUTGOING, EVT_SOCKET_READ, EVT_SOCKET_SHUTDOWN_OUTPUT, EVT_SOCKET_WRITE, EX_TYPE_ClosedChannel, EX_TYPE_IO, EX_TYPE_Unknown, MAINTENANCE_INTERVAL_MICROS, MAX_STATUS_INFO, MSG_ACCUSATION, MSG_ACK, MSG_AUTHPUSH, MSG_AUTHREQ, MSG_AUTHRESP, MSG_CHALLENGE, MSG_RESPONSE, MSG_USERDATA, MSG_USERDGRAM, PROOF_INCONSISTENT, PROOF_NONCONFORMANT, STATUS_EXPOSED, STATUS_SUSPECTED, STATUS_TRUSTED, TI_AUTH_PUSH, TI_CHECKPOINT, TI_MAINTENANCE, TI_MAX_RESERVED, TI_STATUS_INFO |
Constructor Summary |
UserDataMessage(long topSeq,
Handle senderHandle,
byte[] topMinusOne,
byte[] sig,
java.nio.ByteBuffer message,
int relevantlen,
java.util.Map<java.lang.String,java.lang.Object> options)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
UserDataMessage
public UserDataMessage(long topSeq,
Handle senderHandle,
byte[] topMinusOne,
byte[] sig,
java.nio.ByteBuffer message,
int relevantlen,
java.util.Map<java.lang.String,java.lang.Object> options)
getType
public short getType()
- Specified by:
getType
in class PeerReviewMessage
serialize
public void serialize(OutputBuffer buf)
throws java.io.IOException
- Specified by:
serialize
in interface RawSerializable
- Throws:
java.io.IOException
build
public static <H extends RawSerializable> UserDataMessage<H> build(InputBuffer buf,
Serializer<H> serializer,
int hashSize,
int sigSize,
java.util.Map<java.lang.String,java.lang.Object> options)
throws java.io.IOException
- Throws:
java.io.IOException
getTopSeq
public long getTopSeq()
getSenderHandle
public Handle getSenderHandle()
getHTopMinusOne
public byte[] getHTopMinusOne()
getSignature
public byte[] getSignature()
getRelevantLen
public short getRelevantLen()
getPayload
public java.nio.ByteBuffer getPayload()
getReceiveEvent
public EvtRecv<Handle> getReceiveEvent(HashProvider hasher)
getInnerHash
public byte[] getInnerHash(Serializer<Handle> serializer,
HashProvider hasher)
throws java.io.IOException
- recvEntryHeader is the SendHandle, topSeq, (relevantLen < payload)?
- Parameters:
hasher
-
- Returns:
-
- Throws:
java.io.IOException
setType
public void setType(short newType)
getPayloadLen
public int getPayloadLen()
getOptions
public java.util.Map<java.lang.String,java.lang.Object> getOptions()
- Specified by:
getOptions
in class PeerReviewMessage
Copyright © 2001-2005 - Rice Pastry.