Skip to main content

Module chat_mesh_service

Module chat_mesh_service 

Source
Expand description

Running chat-over-mesh service — drives ChatMeshBridge over a live MeshService.

This is the runtime that makes “chat over the mesh” flow. It owns a MeshService and a ChatMeshBridge, and on its own thread it

  • publishes chat envelopes to peers (reliable, on the CHAT port),
  • drains inbound CHAT-port datagrams, feeds them through the reliable channel, sends ACKs back, and either applies each newly-delivered RelayEnvelope to the session store or forwards it to the caller (chosen at spawn), and
  • retransmits unacknowledged frames on a timer.

It keeps a cloneable MeshControl so the desktop can add peers, drive handshakes and read status on the same mesh the chat loop is running — no second set of tunnels. The lower layers (ChatMeshBridge, crate::mesh_channel, mesh_datagram) are pure and independently tested; this module is the thin I/O loop binding them to the live tunnels.

Native-only (the mesh is native-only); WASM chat uses the relay path.

Structs§

ChatMeshService
A handle to the running chat-over-mesh service.

Type Aliases§

IncomingChat
A chat message received from a peer over the mesh: the sending peer’s id and the envelope.