IRSOL
C++ code implementing socket server for interacting with Baumer camera.
state.hpp File Reference

Defines session-specific internal state structures for connected clients. More...

#include "irsol/logging.hpp"
#include "irsol/types.hpp"
#include <atomic>
#include <functional>
#include <memory>
#include <mutex>
#include <thread>

Go to the source code of this file.

Classes

struct  irsol::server::internal::GisParams
 Per-client configuration parameters for the GIS (GetImageSequence) command. More...
 
struct  irsol::server::internal::FrameListeningState
 Controls how a client listens for frames, including thread management and GIS parameters. More...
 
struct  irsol::server::internal::UserSessionData
 Encapsulates all per-client data used during a session's lifetime. More...
 

Namespaces

namespace  irsol
 
namespace  irsol::server
 Core server features. TOBE DEFINED FURTHER.
 
namespace  irsol::server::internal
 

Detailed Description

Defines session-specific internal state structures for connected clients.

This file contains the definitions of data structures that encapsulate all private, per-client state for the server's session management. Every instance of a connected client is represented by a unique irsol::server::ClientSession, and all client-specific state related to frame streaming, communication parameters, and threading is encapsulated in this module via irsol::server::internal::UserSessionData.

Communication over the socket, client-specific control logic, and thread-based streaming control are all coordinated using these internal structures.

These structures are not intended to be accessed concurrently without external synchronization (e.g., session-level mutexes). Instead, they act as a container for client-local data and control flags that drive runtime behaviors like image frame streaming (GIS mode) or message throttling.

Definition in file state.hpp.