Skip to main content

Crate arminius_lib_room_service_messages

Crate arminius_lib_room_service_messages 

Source
Expand description

The bus API of the room service: the facts it publishes about rooms.

§arminius-lib-room-service-messages

The message bus API of the room service: the facts it publishes about rooms.

A message is defined in the arminius-lib-{service}-messages crate of the service that owns its subject namespace. This crate owns room-service.*.

§Subject layout

room-service.events.<name>.v1      facts this service publishes
room-service.commands.<name>.v1    request-reply, this service answers

§Facts

Facts are published once, whatever the number of interested consumers, and say only what happened. Deciding what to do about one, whether to send it to another homeserver, which homeservers, how to retry, belongs to the consumer.

Every fact implements Deduplicate, so a consumer that batches work can collapse a message the broker redelivers while it is still holding the first copy.

Modules§

event 🔒
Facts the room service publishes about what happened in a room.

Structs§

DedupKey
How a consumer recognises two publications as describing the same thing.
ReadReceiptAdded
A user’s read receipt was recorded in a room.
RoomEventAdded
An event was added to a room’s timeline.

Enums§

EventProvenance
Where a room event came from.

Constants§

KEY_SEPARATOR 🔒
Separator between the parts of a composite DedupKey.

Traits§

Deduplicate
A fact whose identity survives redelivery.