====== 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