Expand description
Matrix homeserver, client-server API v3. Rust owns HTTP, the API’s JSON shapes, access
tokens, room membership and per-user /sync delivery (hub.rs); the handler decides
logins (unless user_passwords is given), room creation, joins and every message, and
speaks in rooms as its own user.
Modules§
- actions
- What the model decides as a Matrix homeserver: who may log in (when no
user_passwordstable is given), whether a room may be created or joined, whether a message is accepted — and what it says back, as its own user, into any room. Rust owns the client-server API’s shapes, tokens, room membership and/syncdelivery. - hub
- The homeserver’s protocol state: access tokens, rooms and their members, and per-user
delivery queues for
/sync. This is transport state — what a homeserver must hold to hand one client’s events to another — not a store: what a room says comes from the clients and the model, and nothing outlives the server.
Constants§
- BODY_
TIMEOUT - HEADER_
TIMEOUT - MAX_
HEADERS - MAX_
HEADER_ BYTES - MAX_
PAGE /messagesreturns at most this many events per page.- MAX_
SYNC_ WAIT - The longest a
/syncwaits for something new, whatevertimeoutthe client asks for. - MAX_
TXNS - Transaction ids remembered for idempotent sends.