mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-03-26 03:24:28 -05:00
32 lines
1.4 KiB
Go
32 lines
1.4 KiB
Go
package gomatrixserverlib
|
|
|
|
// A Transaction is used to push data from one matrix server to another matrix
|
|
// server.
|
|
type Transaction struct {
|
|
// The ID of the transaction.
|
|
TransactionID TransactionID `json:"transaction_id"`
|
|
// The server that sent the transaction.
|
|
Origin ServerName `json:"origin"`
|
|
// The server that should receive the transaction.
|
|
Destination ServerName `json:"destination"`
|
|
// The millisecond posix timestamp on the origin server when the
|
|
// transaction was created.
|
|
OriginServerTS Timestamp `json:"origin_server_ts"`
|
|
// The IDs of the most recent transactions sent by the origin server to
|
|
// the destination server. Multiple transactions can be sent by the origin
|
|
// server to the destination server in parallel so there may be more than
|
|
// one previous transaction.
|
|
PreviousIDs []TransactionID `json:"previous_ids"`
|
|
// The room events pushed from the origin server to the destination server
|
|
// by this transaction. The events should either be events that originate
|
|
// on the origin server or be join m.room.member events.
|
|
PDUs []Event `json:"pdus"`
|
|
}
|
|
|
|
// A TransactionID identifies a transaction sent by a matrix server to another
|
|
// matrix server. The ID must be unique amoungst the transactions sent from the
|
|
// origin server to the destination, but doesn't have to be globally unique.
|
|
// The ID must be safe to insert into a URL path segment. The ID should have a
|
|
// format matching '^[0-9A-Za-z\-_]*$'
|
|
type TransactionID string
|