Back

SUCP Transport Protocol

Simple Universal Command Protocol

SUCP permits the transmission of contextual data acros an IP interface. Typically this data consists of commands to perform actions or data (such as files) to support those actions. SUCP itself is agnostic as to the content of the data it is transporting.

Packet Structure

Byte Length Type Name Description
0 n string Destination identifier Identifies the client to process the message
n 1 char Type Character denoting the type of message - client specific
n+1 1 byte Message ID Rolling identifier for the message - to identify dropped packets
n+2 1 byte Packet ID Rolling identifier for multi-packet messages - to identify dropped packets
n+3 2 word Payload length Length of the payload in bytes
n+5 Payload

The client matches the name in the packet against its own name and will not process packets unless the names match

If a message fits into a single packet, the message is sent with the next message ID (incremental) and a Packet ID of zero - indicating a single packet message. If the message is multi-packet, the first packet is sent with a packet ID of 1 and then following packets have incrementing packet IDs. Once all data has been transmitted, a packet with a packet ID of zero and a zero length payload is sent to indicate the end of the packet sequence. All packets have the same Message ID.

If a client receives the start multi-packet message and then encounters a different message ID, the original message is discarded and the new message is processed. Thus, the order of arrival is significant.

The protocol can have a maximum packet size specified so it will automatically split payloads into multiple packets when required

External links