Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
synapse
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Maunium
synapse
Commits
7a025d63
Commit
7a025d63
authored
10 years ago
by
Matthew Hodgson
Browse files
Options
Downloads
Patches
Plain Diff
It's called Matrix :)
parent
3ddfc949
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/server-server/specification.rst
+11
-11
11 additions, 11 deletions
docs/server-server/specification.rst
with
11 additions
and
11 deletions
docs/server-server/specification.rst
+
11
−
11
View file @
7a025d63
===========================
=
Synapse
Server-to-Server API
===========================
=
===========================
Matrix
Server-to-Server API
===========================
A description of the protocol used to communicate between
Synapse
home servers;
A description of the protocol used to communicate between
Matrix
home servers;
also known as Federation.
...
...
@@ -10,7 +10,7 @@ Overview
========
The server-server API is a mechanism by which two home servers can exchange
Synapse
event messages, both as a real-time push of current events, and as a
Matrix
event messages, both as a real-time push of current events, and as a
historic fetching mechanism to synchronise past history for clients to view. It
uses HTTP connections between each pair of servers involved as the underlying
transport. Messages are exchanged between servers in real-time by active pushing
...
...
@@ -19,7 +19,7 @@ historic data for the purpose of back-filling scrollback buffers and the like
can also be performed.
{
Synapse entitie
s } {
Synapse entitie
s }
{
Matrix client
s }
{
Matrix client
s }
^ | ^ |
| events | | events |
| V | V
...
...
@@ -64,10 +64,10 @@ top-level element, passed over an HTTP PUT request. A Transaction is meaningful
only to the pair of home servers that exchanged it; they are not globally-
meaningful.
Each transaction has an opaque ID and timestamp (UNIX epoch time in
miliseconds)
generated by its origin server, an origin and destination server
name, a list of
"previous IDs", and a list of PDUs - the actual message payload
that the
Transaction carries.
Each transaction has an opaque ID and timestamp (UNIX epoch time in
milliseconds)
generated by its origin server, an origin and destination server
name, a list of
"previous IDs", and a list of PDUs - the actual message payload
that the
Transaction carries.
{"transaction_id":"916d630ea616342b42e98a3be0b74113",
"ts":1404835423000,
...
...
@@ -114,7 +114,7 @@ field of a PDU refers to PDUs that any origin server has sent, rather than
previous IDs that this origin has sent. This list may refer to other PDUs sent
by the same origin as the current one, or other origins.
Because of the distributed nature of participants in a
Synapse
conversation, it
Because of the distributed nature of participants in a
Matrix
conversation, it
is impossible to establish a globally-consistent total ordering on the events.
However, by annotating each outbound PDU at its origin with IDs of other PDUs it
has received, a partial ordering can be constructed allowing causallity
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment