mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-09 23:42:28 -04:00
Move client command handling out of TCP protocol (#7185)
The aim here is to move the command handling out of the TCP protocol classes and to also merge the client and server command handling (so that we can reuse them for redis protocol). This PR simply moves the client paths to the new `ReplicationCommandHandler`, a future PR will move the server paths too.
This commit is contained in:
parent
d73bf18d13
commit
5016b162fc
12 changed files with 379 additions and 372 deletions
|
@ -20,11 +20,31 @@ Further details can be found in docs/tcp_replication.rst
|
|||
|
||||
|
||||
Structure of the module:
|
||||
* client.py - the client classes used for workers to connect to master
|
||||
* handler.py - the classes used to handle sending/receiving commands to
|
||||
replication
|
||||
* command.py - the definitions of all the valid commands
|
||||
* protocol.py - contains bot the client and server protocol implementations,
|
||||
these should not be used directly
|
||||
* resource.py - the server classes that accepts and handle client connections
|
||||
* streams.py - the definitons of all the valid streams
|
||||
* protocol.py - the TCP protocol classes
|
||||
* resource.py - handles streaming stream updates to replications
|
||||
* streams/ - the definitons of all the valid streams
|
||||
|
||||
|
||||
The general interaction of the classes are:
|
||||
|
||||
+---------------------+
|
||||
| ReplicationStreamer |
|
||||
+---------------------+
|
||||
|
|
||||
v
|
||||
+---------------------------+ +----------------------+
|
||||
| ReplicationCommandHandler |---->|ReplicationDataHandler|
|
||||
+---------------------------+ +----------------------+
|
||||
| ^
|
||||
v |
|
||||
+-------------+
|
||||
| Protocols |
|
||||
| (TCP/redis) |
|
||||
+-------------+
|
||||
|
||||
Where the ReplicationDataHandler (or subclasses) handles incoming stream
|
||||
updates.
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue