Skip to content

QuantumGate Message

Karel Donk edited this page Aug 23, 2018 · 3 revisions

On the QuantumGate network peers communicate with each other by exchanging messages. During communication, as many messages that are available, and that can fit at once, are gathered into a Message Transport and are then encrypted and sent to a peer.

The structure of a message is as follows:

Header

The message header contains the message type, data size, flags and optionally an extender UUID depending on the message type. Its structure is as follows:

Message Type

The message type takes up 11 bits of the first 4 bytes. Based on the message type QuantumGate can make sense of the data following the message header.

Data Size

The size of the data following the message header is stored in 21 bits of the first 4 bytes.

Flags

Several flags to indicate whether the message is compressed and whether it is a fragment of a larger message.

Extender UUID

Depending on the message type, an extender UUID (Universally Unique Identifier) can be included identifying the extender that sent the message data at the remote endpoint, and the extender that will need to process the data at the local endpoint.

Data

This is the data being sent by the QuantumGate instance or one of the extenders running on that instance. This data may be compressed by QuantumGate depending on the settings used by the extender. Encryption of the message happens at the level of the Message Transport.

Clone this wiki locally