====== Message Protocols ====== FIXME These have been updated in [[http://git.codescape.net/drc-server/|drc-server.git]]. ===== Client-client messages ===== ==== Components ==== ^ type | The type of the message - this can influence how the other components are used | ^ body | The actual content of the message - very dependent on message type | ^ node_id | The message's entry point into the network - exists only during relay, used for [[automatic route learning]] | ^ sender | The origin of the message, added by the node at which the message enters the network | ^ recipient | The user which should receive the message | ^ uuid | A [[wp>UUID|Universally Unique Identifier]] added by the entry point of the message to stop [[messages cycles]] | ==== Formats ==== === Client-server === type:recipient:body === Server-client === type:sender:body === Server-server message relay === uuid:node_id:type:sender:recipient:body === Omitted fields === Any fields omitted from a message (for example if the type doesn't require them) should be //collapsed//, not removed. Correct: msgtype::this is some body text Incorrect: msgtype:this is some body text