Skip to main content

Module event_handler

Module event_handler 

Source
Expand description

Event handler — gift wrap receive, unwrap, process, commit pipeline.

Two-phase architecture:

  • Phase 1 (prepare_event): Parallel-safe — dedup, unwrap, process_rumor
  • Phase 2 (commit_prepared_event): Sequential — save DB, update STATE, emit

Platform-specific behavior (notifications) handled by InboundEventHandler trait.

Structs§

BatchingPersist
Wraps any handler for a bulk-sync drain loop: every callback delegates to the inner handler, but committed messages BUFFER here instead of saving one transaction each — the loop calls BatchingPersist::flush periodically and at stream end to land them in batched transactions (save_messages_batch_multi).
NoOpEventHandler
No-op handler for CLI/tests.

Enums§

PreparedEvent
Result of Phase 1 (prepare_event) — everything needed for sequential commit.

Constants§

DIRECT_INVITE_LIFETIME_SECS
Phase 2: commit a prepared event (sequential — not parallel-safe). Saves to DB, updates STATE, emits to frontend, calls handler hooks. Returns true if a new displayable message was committed.

Traits§

InboundEventHandler
Platform-specific callbacks for inbound event processing.

Functions§

commit_prepared_event
prepare_event
Phase 1: Prepare an event for commit (parallel-safe, no state mutation).
process_event
Process a single event through the full pipeline (prepare + commit).