diff options
Diffstat (limited to 'docs/rfc.md')
| -rw-r--r-- | docs/rfc.md | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/docs/rfc.md b/docs/rfc.md index 089d93f..db79839 100644 --- a/docs/rfc.md +++ b/docs/rfc.md @@ -42,10 +42,10 @@ protocol to keep required bandwidth as low as possible. Current implementation works on top of TCP/IP stack. In future, SOLEC will be adapted to work over LoRa. -## Decentralization +## Decentralisation -Recurring problem with modern day instant messaging is its centralization. -SOLEC solves is it in similair fashion to XMPP or SMTP. SOLEC servers exchange +Recurring problem with modern day instant messaging is its centralisation. +SOLEC solves is it in similar fashion to XMPP or SMTP. SOLEC servers exchange messages between each other so the users using server A can reach out users using server B. @@ -82,11 +82,11 @@ SOLEC is using Type Length Value (TLV) structure for data exchange. Figure: SOLEC PDU Layout * Type (8): -Payload type is indicated by 1 octed which gives 256 types that can be +Payload type is indicated by 1 octet which gives 256 types that can be represented. * Length (16): -Payload length is 2 octets. It indicates lenght of the payload field. +Payload length is 2 octets. It indicates length of the payload field. The length does not include type and length fields. * Payload (variable): @@ -100,7 +100,7 @@ does not carry any data. ## Data types -Data typres are basic types that are used in construction of more comples +Data types are basic types that are used in construction of more complex payload types. ### Numeric types @@ -146,7 +146,7 @@ Figure: String Layout Payload type attributes describes following characteristics: -* R - Reserved: implementattion should ignore payloads of this type +* R - Reserved: implementation should ignore payloads of this type * S - Server: can be send only by a server * C - Client: can be send only by a client * E - Empty: signals an event but does not carry any data @@ -248,13 +248,13 @@ should ignore this kind of payload. ## Sequential operations -Some perations require multiple rounds of communication. +Some operations require multiple rounds of communication. In this case payloads are send in a sequence. Payload that is not part of this -specific operation (for example incomming message) cannot interrupt this process. +specific operation (for example incoming message) cannot interrupt this process. -### Connection initialization +### Connection initialisation -- Client: Initialize TCP connection. +- Client: Initialise TCP connection. - Client: Send *handshake*. - Server: If *major* version of protocol differs close the connection. - Server: Otherwise send *handshake*. |
