|
|
@ -110,8 +110,9 @@ receiving an "empty" transaction.)
|
|
|
|
|
|
|
|
|
|
|
|
PDUs and EDUs
|
|
|
|
PDUs and EDUs
|
|
|
|
-------------
|
|
|
|
-------------
|
|
|
|
.. WARNING::
|
|
|
|
|
|
|
|
This section may be misleading or inaccurate.
|
|
|
|
Common PDU Fields
|
|
|
|
|
|
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
|
|
All PDUs have:
|
|
|
|
All PDUs have:
|
|
|
|
- An ID
|
|
|
|
- An ID
|
|
|
@ -121,47 +122,55 @@ All PDUs have:
|
|
|
|
(regardless of which origin sent them)
|
|
|
|
(regardless of which origin sent them)
|
|
|
|
|
|
|
|
|
|
|
|
``context``
|
|
|
|
``context``
|
|
|
|
Type:
|
|
|
|
+++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
Event context identifier
|
|
|
|
Event context identifier
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
``origin``
|
|
|
|
``origin``
|
|
|
|
Type:
|
|
|
|
++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
DNS name of homeserver that created this PDU.
|
|
|
|
DNS name of homeserver that created this PDU.
|
|
|
|
|
|
|
|
|
|
|
|
``pdu_id``
|
|
|
|
``pdu_id``
|
|
|
|
Type:
|
|
|
|
++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
Unique identifier for PDU within the context for the originating homeserver
|
|
|
|
Unique identifier for PDU within the context for the originating homeserver
|
|
|
|
|
|
|
|
|
|
|
|
``ts``
|
|
|
|
``ts``
|
|
|
|
Type:
|
|
|
|
++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
Integer
|
|
|
|
Integer
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
Timestamp in milliseconds on originating homeserver when this PDU was
|
|
|
|
Timestamp in milliseconds on originating homeserver when this PDU was
|
|
|
|
created.
|
|
|
|
created.
|
|
|
|
|
|
|
|
|
|
|
|
``pdu_type``
|
|
|
|
``pdu_type``
|
|
|
|
Type:
|
|
|
|
++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
PDU event type.
|
|
|
|
PDU event type.
|
|
|
|
|
|
|
|
|
|
|
|
``prev_pdus``
|
|
|
|
``prev_pdus``
|
|
|
|
Type:
|
|
|
|
+++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
List of pairs of strings
|
|
|
|
List of pairs of strings
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
The originating homeserver and PDU ids of the most recent PDUs the
|
|
|
|
The originating homeserver and PDU ids of the most recent PDUs the
|
|
|
|
homeserver was aware of for this context when it made this PDU.
|
|
|
|
homeserver was aware of for this context when it made this PDU.
|
|
|
|
|
|
|
|
|
|
|
|
``depth``
|
|
|
|
``depth``
|
|
|
|
Type:
|
|
|
|
+++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
Integer
|
|
|
|
Integer
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
The maximum depth of the previous PDUs plus one.
|
|
|
|
The maximum depth of the previous PDUs plus one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -169,48 +178,58 @@ All PDUs have:
|
|
|
|
- Update this structure so that 'pdu_id' is a two-element [origin,ref] pair
|
|
|
|
- Update this structure so that 'pdu_id' is a two-element [origin,ref] pair
|
|
|
|
like the prev_pdus are
|
|
|
|
like the prev_pdus are
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
State Update PDU Fields
|
|
|
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
|
|
For state updates:
|
|
|
|
For state updates:
|
|
|
|
|
|
|
|
|
|
|
|
``is_state``
|
|
|
|
``is_state``
|
|
|
|
Type:
|
|
|
|
++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
Boolean
|
|
|
|
Boolean
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
True if this PDU is updating state.
|
|
|
|
True if this PDU is updating state.
|
|
|
|
|
|
|
|
|
|
|
|
``state_key``
|
|
|
|
``state_key``
|
|
|
|
Type:
|
|
|
|
+++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
Optional key identifying the updated state within the context.
|
|
|
|
Optional key identifying the updated state within the context.
|
|
|
|
|
|
|
|
|
|
|
|
``power_level``
|
|
|
|
``power_level``
|
|
|
|
Type:
|
|
|
|
+++++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
Integer
|
|
|
|
Integer
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
The asserted power level of the user performing the update.
|
|
|
|
The asserted power level of the user performing the update.
|
|
|
|
|
|
|
|
|
|
|
|
``required_power_level``
|
|
|
|
``required_power_level``
|
|
|
|
Type:
|
|
|
|
++++++++++++++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
Integer
|
|
|
|
Integer
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
The required power level needed to replace this update.
|
|
|
|
The required power level needed to replace this update.
|
|
|
|
|
|
|
|
|
|
|
|
``prev_state_id``
|
|
|
|
``prev_state_id``
|
|
|
|
Type:
|
|
|
|
+++++++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
PDU event type.
|
|
|
|
PDU event type.
|
|
|
|
|
|
|
|
|
|
|
|
``prev_state_origin``
|
|
|
|
``prev_state_origin``
|
|
|
|
Type:
|
|
|
|
+++++++++++++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
The PDU id of the update this replaces.
|
|
|
|
The PDU id of the update this replaces.
|
|
|
|
|
|
|
|
|
|
|
|
``user_id``
|
|
|
|
``user_id``
|
|
|
|
Type:
|
|
|
|
+++++++++++
|
|
|
|
|
|
|
|
Type:
|
|
|
|
String
|
|
|
|
String
|
|
|
|
Description:
|
|
|
|
Description:
|
|
|
|
The user updating the state.
|
|
|
|
The user updating the state.
|
|
|
|
|
|
|
|
|
|
|
|
::
|
|
|
|
::
|
|
|
|