net.tomp2p.message
Class MessageCodec
java.lang.Object
net.tomp2p.message.MessageCodec
public class MessageCodec
- extends Object
Method Summary |
static Message |
decodeHeader(org.jboss.netty.buffer.ChannelBuffer buffer,
InetSocketAddress recipient,
InetSocketAddress sender)
Decode a message header from a Netty buffer |
static boolean |
decodePayload(Message.Content content,
org.jboss.netty.buffer.ChannelBuffer buffer,
Message message)
Decodes the payload from a Netty buffer in a big switch |
static PublicKey |
decodePublicKey(org.jboss.netty.buffer.ChannelBuffer buffer,
byte[] receivedRawPublicKey)
|
static boolean |
decodeSignature(Signature signature,
Message message,
org.jboss.netty.buffer.ChannelBuffer buffer)
|
static org.jboss.netty.buffer.ChannelBuffer |
encodeHeader(org.jboss.netty.buffer.ChannelBuffer buffer,
Message message)
The format looks as follows: 32bit p2p version - 32bit id - 4bit message type - 4bit message name - 160bit sender
id - 16bit tcp port - 16bit udp port - 160bit recipient id - 16bit (4x4)content type - 8bit network address
information. |
static void |
encodePayload(Message message,
ProtocolChunkedInput input)
Encode payload |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY_BYTE_ARRAY
public static final byte[] EMPTY_BYTE_ARRAY
MAX_BYTE
public static final int MAX_BYTE
- See Also:
- Constant Field Values
HEADER_SIZE
public static final int HEADER_SIZE
- See Also:
- Constant Field Values
MessageCodec
public MessageCodec()
encodeHeader
public static org.jboss.netty.buffer.ChannelBuffer encodeHeader(org.jboss.netty.buffer.ChannelBuffer buffer,
Message message)
- The format looks as follows: 32bit p2p version - 32bit id - 4bit message type - 4bit message name - 160bit sender
id - 16bit tcp port - 16bit udp port - 160bit recipient id - 16bit (4x4)content type - 8bit network address
information. It total, the header is of size 56 bytes.
- Parameters:
buffer
- The Netty buffer to fillmessage
- The message with the header that will be serialized
- Returns:
- The buffer passed as an argument
encodePayload
public static void encodePayload(Message message,
ProtocolChunkedInput input)
throws InvalidKeyException,
SignatureException,
NoSuchAlgorithmException,
ClassNotFoundException,
IOException
- Encode payload
- Parameters:
buffer
- The Netty buffer to fillmessage
- The message which contains the payload
- Throws:
NoSuchAlgorithmException
SignatureException
InvalidKeyException
IOException
ClassNotFoundException
decodeHeader
public static Message decodeHeader(org.jboss.netty.buffer.ChannelBuffer buffer,
InetSocketAddress recipient,
InetSocketAddress sender)
throws DecoderException
- Decode a message header from a Netty buffer
- Parameters:
buffer
- The buffer to decode fromsender
- The sender of the packet, which has been set in the socket class
- Returns:
- The partial message, only the header fields are filled
- Throws:
DecoderException
decodePayload
public static boolean decodePayload(Message.Content content,
org.jboss.netty.buffer.ChannelBuffer buffer,
Message message)
throws InvalidKeyException,
SignatureException,
NoSuchAlgorithmException,
InvalidKeySpecException,
IOException,
DecoderException
- Decodes the payload from a Netty buffer in a big switch
- Parameters:
content
- The content typebuffer
- The buffer to read frommessage
- The message to store the results
- Throws:
IndexOutOfBoundsException
- If a buffer is read beyond its limits
NoSuchAlgorithmException
SignatureException
InvalidKeyException
InvalidKeySpecException
InvalidKeySpecException
IOException
DecoderException
ASN1Exception
UnsupportedEncodingException
- If UTF-8 is not there
decodePublicKey
public static PublicKey decodePublicKey(org.jboss.netty.buffer.ChannelBuffer buffer,
byte[] receivedRawPublicKey)
throws InvalidKeyException,
NoSuchAlgorithmException,
InvalidKeySpecException
- Throws:
InvalidKeyException
NoSuchAlgorithmException
InvalidKeySpecException
decodeSignature
public static boolean decodeSignature(Signature signature,
Message message,
org.jboss.netty.buffer.ChannelBuffer buffer)
throws NoSuchAlgorithmException,
SignatureException,
InvalidKeyException,
IOException
- Throws:
NoSuchAlgorithmException
SignatureException
InvalidKeyException
IOException
Copyright © 2013. All Rights Reserved.