SmartSpectra C++ SDK
Measure human vitals from video with SmartSpectra C++ SDK.
Loading...
Searching...
No Matches
presage::smartspectra::file_ipc::FileIpcConfiguration Struct Reference

#include <file_ipc_configuration.hpp>

Public Member Functions

nlohmann::json ToJson () const

Static Public Member Functions

static absl::StatusOr< FileIpcConfigurationLoadFromJson (const std::filesystem::path &path)
static absl::Status SaveToJson (const FileIpcConfiguration &config, const std::filesystem::path &path)
static absl::StatusOr< FileIpcConfigurationFromJson (const nlohmann::json &j)

Public Attributes

std::filesystem::path base_directory = "/tmp/physiology_ipc"
bool create_if_missing = true
bool truncate_on_init = false
size_t max_frame_count = 1000
bool use_file_locking = true
bool compress_frames = false
size_t io_buffer_size = 8192
bool enable_debug_logging = false
int jpeg_quality = 85

Detailed Description

Configuration for filesystem-based IPC communication.

This configuration defines how the physiology system should use filesystem operations to communicate between Edge and Core components.

Member Function Documentation

◆ FromJson()

absl::StatusOr< FileIpcConfiguration > presage::smartspectra::file_ipc::FileIpcConfiguration::FromJson ( const nlohmann::json & j)
static

Create a configuration from a JSON object.

Parameters
jThe JSON object to deserialize
Returns
FileIpcConfiguration created from the JSON or error status

◆ LoadFromJson()

absl::StatusOr< FileIpcConfiguration > presage::smartspectra::file_ipc::FileIpcConfiguration::LoadFromJson ( const std::filesystem::path & path)
static

Load configuration from a JSON file.

Parameters
pathPath to the JSON configuration file
Returns
Loaded configuration (with defaults for missing fields) or error status

◆ SaveToJson()

absl::Status presage::smartspectra::file_ipc::FileIpcConfiguration::SaveToJson ( const FileIpcConfiguration & config,
const std::filesystem::path & path )
static

Save configuration to a JSON file.

Parameters
configThe configuration to save
pathPath where the JSON file should be written
Returns
OK status or error status

◆ ToJson()

nlohmann::json presage::smartspectra::file_ipc::FileIpcConfiguration::ToJson ( ) const
nodiscard

Convert this configuration to a JSON object.

Returns
nlohmann::json representation of this configuration

Member Data Documentation

◆ base_directory

std::filesystem::path presage::smartspectra::file_ipc::FileIpcConfiguration::base_directory = "/tmp/physiology_ipc"

Base directory for all IPC files. This directory will contain:

  • core_metrics.jsonl: Stream of Core metrics (MetricsBuffer messages)
  • edge_metrics.jsonl: Stream of Edge metrics (Metrics messages)
  • status_codes.jsonl: Stream of status updates (StatusValue messages)
  • frames/: Directory containing video frames with timestamps
  • recording_state.json: Current recording state
  • recording_command.json: Commands to control recording

◆ compress_frames

bool presage::smartspectra::file_ipc::FileIpcConfiguration::compress_frames = false

Whether to compress frame data before writing. Default: false (frames are expected to be already compressed)

◆ create_if_missing

bool presage::smartspectra::file_ipc::FileIpcConfiguration::create_if_missing = true

Whether to create the base directory if it doesn't exist. Default: true

◆ enable_debug_logging

bool presage::smartspectra::file_ipc::FileIpcConfiguration::enable_debug_logging = false

Whether to enable debug logging for IPC operations. Default: false

◆ io_buffer_size

size_t presage::smartspectra::file_ipc::FileIpcConfiguration::io_buffer_size = 8192

Buffer size for file I/O operations. Default: 8192 bytes

◆ jpeg_quality

int presage::smartspectra::file_ipc::FileIpcConfiguration::jpeg_quality = 85

JPEG compression quality level for frame files (1-100). Higher values mean better quality but larger file sizes. Default: 85

◆ max_frame_count

size_t presage::smartspectra::file_ipc::FileIpcConfiguration::max_frame_count = 1000

Maximum number of frames to keep in the frames directory. Older frames will be deleted when this limit is exceeded. Default: 1000 frames (0 = unlimited)

◆ truncate_on_init

bool presage::smartspectra::file_ipc::FileIpcConfiguration::truncate_on_init = false

Whether to truncate existing files on initialization. Default: false (append to existing files)

◆ use_file_locking

bool presage::smartspectra::file_ipc::FileIpcConfiguration::use_file_locking = true

Whether to use file locking for concurrent access safety. Default: true


The documentation for this struct was generated from the following files: