Expand description
Session lifecycle — RFCOMM/iroh connect, OBEX handshake, retry policy, MNS relay, and store
sync. SDP channel discovery happens upstream in imsg-transport::discover; callers here pass
an already-resolved device/channel or hub target.
Re-exports§
pub use relay::run_mns_relay;pub use retry::classify;pub use retry::Disposition;
Modules§
- conn
- Connection assembly: selects the transport target and opens a MAP or PBAP session.
- contacts
- Store-integrated PBAP contact sync, plus shared live-operation wrappers used by both the
CLI hub path and the broker’s dispatch — mirrors
session::live’s relationship tomap_core. - fetch
- Shared device read, normalized to a store-agnostic
FetchedMessage. - lifecycle
- Connection lifecycle: RFCOMM connect, OBEX session establishment, and teardown, given an
already-resolved device address and channel (SDP lookup happens in
imsg-transport::discover). - live
- Live-query orchestration:
list/threads/getread straight from the device and return lean models, with no store writes and no cursor advances. - loop_
util - Shared accept-loop driver used by MNS session and relay modules.
- mns
- MNS accept loop — drives the MAP Message Notification Service server-side session.
- outbox
- Outbox drain: push-error classification, single-message send, and outbox flush.
- relay
- MNS relay loop — forward raw MAP event-report bytes from RFCOMM to a broadcast channel.
- retry
- Connection-retry primitives: transient/permanent classification and the backoff schedule.
- sync
- Store-integrated sync: message ingestion and per-folder cursor backfill.
- util
- Shared datetime utilities: MAP timestamp parsing and epoch-millisecond display.
- watch
- Live MNS event processing and the watch loop.
Structs§
- MnsEvent
- Fields absent in the
<event>element areNone.
Enums§
- Event
Type - Reported in
MAP-event-report<event type=...>attribute. - MapError
- MAP client/MNS errors — OBEX, transport, server response, parse, input validation, and encoding.
- Pbap
Error - PBAP client errors — OBEX, transport, server response, vCard parse, XML listing parse, and input validation.
- Session
Error - MAP/PBAP/transport layer errors.
- Transport
Error - OBEX framing errors — invalid length, unexpected EOF, and external transport failures.