ORE Studio 0.0.4
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations
ores::comms::service Namespace Reference

Main server application for ORE Studio. More...

Namespaces

namespace  app
 Application hosting for the server binary.
 
namespace  config
 Configuration and command-line parsing for the server.
 

Classes

class  auth_session_service
 Centralized authentication session management service. More...
 
struct  client_info
 Client information captured during handshake. More...
 
struct  handshake_result
 Result of a successful server-side handshake. More...
 
class  handshake_service
 Service for managing protocol handshake between client and server. More...
 
class  heartbeat_service
 Service for handling heartbeat (ping/pong) protocol on the server. More...
 
class  remote_event_adapter
 Adapts remote server subscriptions to local notification callbacks. More...
 
struct  session_data
 Session data owned by ores.comms for protocol-level session tracking. More...
 
struct  session_info
 Lightweight session info for backward compatibility. More...
 
class  subscription_handler
 Message handler for subscription protocol messages. More...
 
class  subscription_manager
 Manages client subscriptions to event notifications. More...
 
struct  telemetry_streaming_options
 Configuration options for telemetry streaming. More...
 
class  telemetry_streaming_service
 Service for streaming telemetry logs to the server. More...
 

Typedefs

using notification_callback = std::function< bool(const std::string &, std::chrono::system_clock::time_point, const std::vector< std::string > &)>
 Callback type for pushing notifications to clients.
 
using session_id = std::string
 Unique identifier for a client session.
 

Enumerations

enum class  session_protocol : std::uint8_t { binary = 0 , http = 1 }
 Protocol used for the session connection. More...
 

Detailed Description

Main server application for ORE Studio.

Service layer for the communications module.

Multi-client server application hosting the ORE Studio backend services. Key features:

The component is organized into namespaces: config (option parsing and configuration), and app (application hosting and execution).

Contains service classes for handling protocol-level operations such as handshake processing and subscription management.

Typedef Documentation

◆ notification_callback

using notification_callback = std::function<bool(const std::string&, std::chrono::system_clock::time_point, const std::vector<std::string>&)>

Callback type for pushing notifications to clients.

Takes event_type, timestamp, and entity_ids. Returns true if notification was sent successfully, false otherwise (e.g., connection closed).

◆ session_id

using session_id = std::string

Unique identifier for a client session.

Uses the remote address (IP:port) as identifier since it's unique per connection.

Enumeration Type Documentation

◆ session_protocol

enum class session_protocol : std::uint8_t
strong

Protocol used for the session connection.

Enumerator
binary 

ORE Studio binary protocol over TCP.

http 

HTTP/REST API with JWT authentication.