Add information about BaseMessage

This commit is contained in:
ChronosX88 2019-11-12 21:51:29 +04:00
parent a45738297c
commit ebd1a1b0a9

View File

@ -12,4 +12,17 @@
**Server-part (hostname)** - `IPv4 / [IPv6] / dns-domain:<port (1-65535)>`. **Server-part (hostname)** - `IPv4 / [IPv6] / dns-domain:<port (1-65535)>`.
**Username/Room alias/RoomID** - MUST NOT be empty, and MUST contain only the characters `a-z`, `0-9`, `.`, `_`, `=`, `-`, and `/`. **Username/Room alias/RoomID** - MUST NOT be empty, and MUST contain only the characters `a-z`, `0-9`, `.`, `_`, `=`, `-`, and `/`.
RoomID SHOULD be UUID identifier. RoomID SHOULD be UUID identifier.
## BaseMessage
BaseMessage is a basic message model, basis of the whole protocol. It is used for a very easy protocol extension process.
BaseMessage scheme:
```
id (string) - identifier of message (used to track the request-response chain)
type (string) - type of message (used to determine which extension this message belongs to)
from (EntityID) - from which entity this message is send
to (EntityID) - message recipient
ok (boolean) - operation success indicator (used to determine if errors was happened when processing request)
payload (Map<K,V>) - message payload (used to store extra information in message, list of permissible fields in the payload are depends on "type" field)
```