Musubi.Transport.ConnectionChannel (musubi v0.3.0)

Copy Markdown View Source

Phoenix Channel adapter for Musubi sockets with multiple root stores.

The channel owns one joined Musubi socket and a dynamic set of root page servers. join/3 runs the socket module's Musubi.Socket.handle_join/2 once. Each client "mount" message starts one root store page server using the shared joined socket assigns and private connection context.

Telemetry

  • [:musubi, :channel, :join]%{system_time: integer}. Metadata: module, id, topic, page_pid. For this adapter module is the Musubi socket module, and id/page_pid are nil because roots mount later inside the joined connection.
  • [:musubi, :channel, :terminate]%{system_time: integer}. Metadata: module, id, topic, reason, page_pid, root_count. root_count is the number of mounted root page servers the connection is stopping.

Summary

Functions

child_spec(init_arg)

start_link(triplet)