|
Radix Relay
Hybrid mesh communications with Signal Protocol encryption
|
Orchestrates Nostr sessions, message handling, and bundle management. More...
#include <session_orchestrator.hpp>
Public Member Functions | |
| session_orchestrator (const std::shared_ptr< Bridge > &bridge, const std::shared_ptr< Tracker > &tracker, const std::shared_ptr< boost::asio::io_context > &io_context, const std::shared_ptr< async::async_queue< core::events::session_orchestrator::in_t > > &in_queue, const std::shared_ptr< async::async_queue< core::events::transport::in_t > > &transport_out_queue, const std::shared_ptr< async::async_queue< core::events::presentation_event_variant_t > > &presentation_out_queue, const std::shared_ptr< async::async_queue< core::events::connection_monitor::in_t > > &connection_monitor_out_queue, std::chrono::milliseconds timeout=std::chrono::seconds(15)) | |
| Constructs a session orchestrator. | |
| auto | run_once (std::shared_ptr< boost::asio::cancellation_slot > cancel_slot=nullptr) -> boost::asio::awaitable< void > |
| Processes a single event from the queue. | |
| auto | run (std::shared_ptr< boost::asio::cancellation_slot > cancel_slot=nullptr) -> boost::asio::awaitable< void > |
| Continuously processes events until cancelled. | |
Orchestrates Nostr sessions, message handling, and bundle management.
| Bridge | Type satisfying the signal_bridge concept |
| Tracker | Type satisfying the request_tracker concept |
Coordinates between Signal Protocol operations, Nostr transport, and presentation layer. Handles incoming Nostr events, processes encrypted messages, manages bundle discovery, and publishes outgoing messages to relays.
Definition at line 51 of file session_orchestrator.hpp.
|
inline |
Constructs a session orchestrator.
| bridge | Signal Protocol bridge |
| tracker | Request tracker for Nostr responses |
| io_context | Boost.Asio io_context |
| in_queue | Queue for incoming session orchestrator events |
| transport_out_queue | Queue for outgoing transport commands |
| presentation_out_queue | Queue for outgoing presentation events |
| connection_monitor_out_queue | Queue for outgoing transport status events |
| timeout | Default timeout for relay requests |
Definition at line 65 of file session_orchestrator.hpp.
|
inline |
Continuously processes events until cancelled.
| cancel_slot | Optional cancellation slot |
Definition at line 99 of file session_orchestrator.hpp.
References radix_relay::nostr::session_orchestrator< Bridge, Tracker >::run_once().
|
inline |
Processes a single event from the queue.
| cancel_slot | Optional cancellation slot |
Definition at line 85 of file session_orchestrator.hpp.
Referenced by radix_relay::nostr::session_orchestrator< Bridge, Tracker >::run().