Skip to main content

Crate iris_chat_protocol

Crate iris_chat_protocol 

Source

Structs§

AppKeys
DebouncedFileStorage
DeviceEntry
DirectChatSnapshot
DirectMessageService
DirectMessageSnapshot
DirectThreadSnapshot
FileStorageAdapter
GroupRosterFact
InMemoryStorage
Invite
NdrUnixSeconds
PendingInboundAdmissionError
Temporary capacity refusal. Callers must not mark this event as delivered or permanently seen: a later handshake can make its author admissible.
ProtocolAcceptInviteResult
ProtocolDecryptedMessage
ProtocolDeviceOwnerHint
ProtocolDeviceRosterIngestionResult
ProtocolDirectSendResult
ProtocolEngine
ProtocolEngineDebugSnapshot
ProtocolGroupIncomingResult
ProtocolGroupRosterIngestionResult
ProtocolGroupSendResult
ProtocolMessageSessionDebugSnapshot
ProtocolMetadataIngestionResult
Whether authenticated discovery changed protocol state. An empty retry batch alone cannot establish this: authorization can change without sending or decrypting a message.
ProtocolPendingInboundTestDebug
ProtocolPublish
ProtocolRetryBatch
SessionManagerSnapshot
SessionState
SqliteStorageAdapter
SQLite-backed implementation of iris_chat_protocol::StorageAdapter. Keys are namespaced by (owner_pubkey_hex, device_pubkey_hex) so a single database serves multiple owner accounts and devices without keyspace collisions, matching the per-(owner, device) directory scoping the previous file-backed adapter used.
StorageCheckpoint
A lossless description of a logical String. SQLite can store its immutable records independently; other adapters materialize the same bytes normally.
StorageCheckpointBody
Immutable local checkpoint bytes. Its content identity is computed once, never published, and relies on SHA-256 collision resistance. Keeping the identity and bytes private prevents a caller from reusing an ID for new data.
StorageError
UnixSeconds

Enums§

DirectInviteAcceptanceOutcome
DirectMessageCommand
DirectMessageDelivery
DirectSendReadiness
ProtocolAcceptInviteBlock
ProtocolAcceptInviteOutcome
ProtocolCarrier
What a publish effect carries, recorded by the engine that produced it. It travels beside the event (effect, queue, outbox row) and never on the wire: message events name no recipient, so a pairwise envelope and shared group ciphertext cannot be told apart, or routed, from their tags.
ProtocolEffect
ProtocolInviteSessionImportOutcome

Constants§

APP_KEYS_EVENT_KIND
CHAT_MESSAGE_KIND
CHAT_SETTINGS_KIND
GROUP_ROSTER_FACT_KIND
GROUP_ROSTER_FACT_SCHEMA
GROUP_ROSTER_FACT_TYPE
GROUP_SENDER_KEY_MESSAGE_KIND
INVITE_EVENT_KIND
INVITE_LIST_LABEL
INVITE_RESPONSE_KIND
MESSAGE_EVENT_KIND
PROTOCOL_SENDER_KEY_REPAIR_RETRY_DELAYS_SECS
REACTION_KIND
RECEIPT_KIND

Traits§

StorageAdapter

Functions§

app_keys_event_is_acceptable_for_owner
Verifies the exact signed AppKeys evidence accepted for direct-chat setup. Profile indexes and reconstructed device lists must never substitute for it.
build_group_roster_fact_filter
build_protocol_discovery_filters
group_roster_unsigned_event
invite_unsigned_event
invite_url
is_app_keys_event
parse_invite_event
parse_invite_response_event
parse_invite_url
parse_message_event
resolve_invite_owner
Resolve the single owner claim carried by an invite and optional caller hint. Duplicated compatibility fields must agree; the hint may supply a missing claim but may never override one already present in the invite.

Type Aliases§

SharedConnection
StorageResult