0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-11-18 16:02:15 +01:00

Fix indentation in docs/

This commit is contained in:
Erik Johnston 2017-03-30 13:54:15 +01:00
parent 3ba2859e0c
commit 31e0fe9031

View file

@ -34,20 +34,21 @@ command, and usually the connection will be closed.
Since the protocol is a simple line based, its possible to manually connect to Since the protocol is a simple line based, its possible to manually connect to
the server using a tool like netcat. A few things should be noted when manually the server using a tool like netcat. A few things should be noted when manually
using the protocol: using the protocol:
* When subscribing to a stream using ``REPLICATE``, the special token ``NOW`` can
be used to get all future updates. The special stream name ``ALL`` can be used * When subscribing to a stream using ``REPLICATE``, the special token ``NOW`` can
with ``NOW`` to subscribe to all available streams. be used to get all future updates. The special stream name ``ALL`` can be used
* The federation stream is only available if federation sending has been with ``NOW`` to subscribe to all available streams.
disabled on the main process. * The federation stream is only available if federation sending has been
* The server will only time connections out that have sent a ``PING`` command. disabled on the main process.
If a ping is sent then the connection will be closed if no further commands * The server will only time connections out that have sent a ``PING`` command.
are receieved within 15s. Both the client and server protocol implementations If a ping is sent then the connection will be closed if no further commands
will send an initial PING on connection and ensure at least one command every are receieved within 15s. Both the client and server protocol implementations
5s is sent (not necessarily ``PING``). will send an initial PING on connection and ensure at least one command every
* ``RDATA`` commands *usually* include a numeric token, however if the stream 5s is sent (not necessarily ``PING``).
has multiple rows to replicate per token the server will send multiple * ``RDATA`` commands *usually* include a numeric token, however if the stream
``RDATA`` commands, with all but the last having a token of ``batch``. See has multiple rows to replicate per token the server will send multiple
the documentation on ``commands.RdataCommand`` for further details. ``RDATA`` commands, with all but the last having a token of ``batch``. See
the documentation on ``commands.RdataCommand`` for further details.
Architecture Architecture
@ -84,19 +85,21 @@ Start up
~~~~~~~~ ~~~~~~~~
When a new connection is made, the server: When a new connection is made, the server:
* Sends a ``SERVER`` command, which includes the identity of the server, allowing
the client to detect if its connected to the expected server * Sends a ``SERVER`` command, which includes the identity of the server, allowing
* Sends a ``PING`` command as above, to enable the client to time out connections the client to detect if its connected to the expected server
promptly. * Sends a ``PING`` command as above, to enable the client to time out connections
promptly.
The client: The client:
* Sends a ``NAME`` command, allowing the server to associate a human friendly
name with the connection. This is optional. * Sends a ``NAME`` command, allowing the server to associate a human friendly
* Sends a ``PING`` as above name with the connection. This is optional.
* For each stream the client wishes to subscribe to it sends a ``REPLICATE`` * Sends a ``PING`` as above
with the stream_name and token it wants to subscribe from. * For each stream the client wishes to subscribe to it sends a ``REPLICATE``
* On receipt of a ``SERVER`` command, checks that the server name matches the with the stream_name and token it wants to subscribe from.
expected server name. * On receipt of a ``SERVER`` command, checks that the server name matches the
expected server name.
Error handling Error handling