summary refs log tree commit diff
path: root/docs/server-server/protocol-format
blob: 2838253ab7504601a9ae980930858e5a52a92b95 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Transaction
===========

Required keys:

============ =================== ===============================================
    Key            Type                         Description
============ =================== ===============================================
origin       String              DNS name of homeserver making this transaction.
ts           Integer             Timestamp in milliseconds on originating 
                                 homeserver when this transaction started.
previous_ids List of Strings     List of transactions that were sent immediately
                                 prior to this transaction.
pdus         List of Objects     List of updates contained in this transaction.
============ =================== ===============================================


PDU
===

Required keys:

============ ================== ================================================
    Key            Type                         Description
============ ================== ================================================
context      String             Event context identifier
origin       String             DNS name of homeserver that created this PDU.
pdu_id       String             Unique identifier for PDU within the context for
                                the originating homeserver.
ts           Integer            Timestamp in milliseconds on originating 
                                homeserver when this PDU was created.
pdu_type     String             PDU event type.
prev_pdus    List of Pairs      The originating homeserver and PDU ids of the
             of Strings         most recent PDUs the homeserver was aware of for
                                this context when it made this PDU.
depth        Integer            The maximum depth of the previous PDUs plus one.
============ ================== ================================================

Keys for state updates:

================== ============ ================================================
    Key               Type                      Description
================== ============ ================================================
is_state           Boolean      True if this PDU is updating state.
state_key          String       Optional key identifying the updated state within
                                the context.
power_level        Integer      The asserted power level of the user performing
                                the update.
min_update         Integer      The required power level needed to replace this
                                update.
prev_state_id      String       The homeserver of the update this replaces
prev_state_origin  String       The PDU id of the update this replaces.
user               String       The user updating the state.
================== ============ ================================================