Rice Pastry API

org.mpisws.p2p.transport.peerreview.message
Class UserDataMessage<Handle extends RawSerializable>

java.lang.Object
  extended by org.mpisws.p2p.transport.peerreview.message.UserDataMessage<Handle>
All Implemented Interfaces:
PeerReviewConstants, RawSerializable

public class UserDataMessage<Handle extends RawSerializable>
extends java.lang.Object
implements RawSerializable, PeerReviewConstants

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

Field Summary
 
Fields inherited from interface org.mpisws.p2p.transport.peerreview.PeerReviewConstants
CHAL_AUDIT, CHAL_SEND, 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, MSG_ACCUSATION, MSG_ACK, MSG_AUTHPUSH, MSG_AUTHREQ, MSG_AUTHRESP, MSG_CHALLENGE, MSG_RESPONSE, MSG_USERDATA, MSG_USERDGRAM, PROOF_INCONSISTENT, PROOF_NONCONFORMANT
 
Constructor Summary
UserDataMessage(long topSeq, Handle senderHandle, byte[] topMinusOne, byte[] sig, java.nio.ByteBuffer message, int relevantlen)
           
 
Method Summary
static
<H extends RawSerializable>
UserDataMessage<H>
build(InputBuffer buf, Serializer<H> serializer, int hashSize, int sigSize)
           
 byte[] getHTopMinusOne()
           
 java.nio.ByteBuffer getPayload()
           
 short getRelevantLen()
           
 Handle getSenderHandle()
           
 byte[] getSignature()
           
 long getTopSeq()
           
 short getType()
           
 void serialize(OutputBuffer buf)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UserDataMessage

public UserDataMessage(long topSeq,
                       Handle senderHandle,
                       byte[] topMinusOne,
                       byte[] sig,
                       java.nio.ByteBuffer message,
                       int relevantlen)
Method Detail

getType

public short getType()

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)
                                                        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()

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.