Package edu.rit.mp contains the Message Protocol (MP), a transport layer protocol for sending messages using TCP. MP is intended for use in message passing parallel programming on cluster parallel computers.
Operation
A source process sends a message to a destination process through a channel. Each message includes a tag; this is just an integer that the source can use to convey metadata to the destination. Each message also includes a given number of items. Each item in a message is of a given type (the same type for all items in the message). The supported types are given in the table below. The table shows the Java type used to store the item in memory, the number of bytes used to represent the item in a message, and the range of values that can be represented.
For information on how to create channels and send and receive messages, see class ChannelGroup.
Type | Stored As | # of Bytes | Range |
Boolean | boolean | 1 | true, false |
Byte | byte | 1 | -128 .. 127 |
Short | short | 2 | -32768 .. 32767 |
Integer | int | 4 | -2147483648 .. 2147483647 |
Signed 8-bit integer | int | 1 | -128 .. 127 |
Unsigned 8-bit integer | int | 1 | 0 .. 255 |
Signed 16-bit integer | int | 2 | -32768 .. 32767 |
Unsigned 16-bit integer | int | 2 | 0 .. 65535 |
Long | long | 8 | -9223372036854775808 .. 9223372036854775807 |
Character | char | 2 | '\u0000' .. '\uFFFF' |
Float | float | 4 | Same as float |
Double | double | 8 | Same as double |
Object | Object | Varies |
Message Format
A message consists of the following sequence of bytes: