synapse.federation.units module¶
Defines the JSON structure of the protocol units used by the server to server protocol.
-
class
synapse.federation.units.Edu(**kwargs)¶ Bases:
synapse.util.jsonobject.JsonEncodedObjectAn Edu represents a piece of data sent from one homeserver to another.
In comparison to Pdus, Edus are not persisted for a long time on disk, are not meaningful beyond a given pair of homeservers, and don’t have an internal ID or previous references graph.
-
internal_keys= ['origin', 'destination']¶
-
required_keys= ['edu_type']¶
-
valid_keys= ['origin', 'destination', 'edu_type', 'content']¶
-
-
class
synapse.federation.units.Transaction(transaction_id=None, pdus=[], **kwargs)¶ Bases:
synapse.util.jsonobject.JsonEncodedObjectA transaction is a list of Pdus and Edus to be sent to a remote home server with some extra metadata.
Example transaction:
{ "origin": "foo", "prev_ids": ["abc", "def"], "pdus": [ ... ], }
-
static
create_new(pdus, **kwargs)¶ Used to create a new transaction. Will auto fill out transaction_id and origin_server_ts keys.
-
internal_keys= ['transaction_id', 'destination']¶
-
required_keys= ['transaction_id', 'origin', 'destination', 'origin_server_ts', 'pdus']¶
-
valid_keys= ['transaction_id', 'origin', 'destination', 'origin_server_ts', 'previous_ids', 'pdus', 'edus']¶
-
static