You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
3.3 KiB

  1. ===========
  2. Terminology
  3. ===========
  4. A list of definitions of specific terminology used among these documents.
  5. These terms were originally taken from the server-server documentation, and may
  6. not currently match the exact meanings used in other places; though as a
  7. medium-term goal we should encourage the unification of this terminology.
  8. Terms
  9. =====
  10. Context:
  11. A single human-level entity of interest (currently, a chat room)
  12. EDU (Ephemeral Data Unit):
  13. A message that relates directly to a given pair of home servers that are
  14. exchanging it. EDUs are short-lived messages that related only to one single
  15. pair of servers; they are not persisted for a long time and are not forwarded
  16. on to other servers. Because of this, they have no internal ID nor previous
  17. EDUs reference chain.
  18. Event:
  19. A record of activity that records a single thing that happened on to a context
  20. (currently, a chat room). These are the "chat messages" that Synapse makes
  21. available.
  22. [[NOTE(paul): The current server-server implementation calls these simply
  23. "messages" but the term is too ambiguous here; I've called them Events]]
  24. Pagination:
  25. The process of synchronising historic state from one home server to another,
  26. to backfill the event storage so that scrollback can be presented to the
  27. client(s).
  28. PDU (Persistent Data Unit):
  29. A message that relates to a single context, irrespective of the server that
  30. is communicating it. PDUs either encode a single Event, or a single State
  31. change. A PDU is referred to by its PDU ID; the pair of its origin server
  32. and local reference from that server.
  33. PDU ID:
  34. The pair of PDU Origin and PDU Reference, that together globally uniquely
  35. refers to a specific PDU.
  36. PDU Origin:
  37. The name of the origin server that generated a given PDU. This may not be the
  38. server from which it has been received, due to the way they are copied around
  39. from server to server. The origin always records the original server that
  40. created it.
  41. PDU Reference:
  42. A local ID used to refer to a specific PDU from a given origin server. These
  43. references are opaque at the protocol level, but may optionally have some
  44. structured meaning within a given origin server or implementation.
  45. Presence:
  46. The concept of whether a user is currently online, how available they declare
  47. they are, and so on. See also: doc/model/presence
  48. Profile:
  49. A set of metadata about a user, such as a display name, provided for the
  50. benefit of other users. See also: doc/model/profiles
  51. Room ID:
  52. An opaque string (of as-yet undecided format) that identifies a particular
  53. room and used in PDUs referring to it.
  54. Room Alias:
  55. A human-readable string of the form #name:some.domain that users can use as a
  56. pointer to identify a room; a Directory Server will map this to its Room ID
  57. State:
  58. A set of metadata maintained about a Context, which is replicated among the
  59. servers in addition to the history of Events.
  60. User ID:
  61. A string of the form @localpart:domain.name that identifies a user for
  62. wire-protocol purposes. The localpart is meaningless outside of a particular
  63. home server. This takes a human-readable form that end-users can use directly
  64. if they so wish, avoiding the 3PIDs.
  65. Transaction:
  66. A message which relates to the communication between a given pair of servers.
  67. A transaction contains possibly-empty lists of PDUs and EDUs.