• OctoMY API
  • OctoMY API Reference
  • C++ Classes
  • OctoMY
  • SerialSessionManager
  • SerialSessionManager Class

    Owns the live serial port sessions of one node, keyed by connection id. More...

    Header: #include <SerialSessionManager>
    Since: 1.0
    Inherits: QObject

    Detailed Description

    A session opens on a stored SerialConnection. It stays open until a caller closes it or the device detaches. A session does not belong to a UI tab: tabs and OPAL tasks attach to the same session through the signals of the manager, and when the last viewer closes, the port stays open. Each session keeps a rolling 1 MiB receive buffer, which readTail() reads, and at most one drip-feed LineStreamRun. A manual write is refused while a drip-feed runs.

    SerialSessionService creates the manager and keeps it for its own life, and Node::serialSessions() returns it. When the node leaves NodeActive, the service closes every session. The manager and its ports live on the UI thread. The public methods are Q_INVOKABLE, so an OPAL worker thread can call them through a blocking queued connection, as SerialOpalContext does.