Template Class RealtimeIntegrator
Defined in File realtime_integrator.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public diffeq::core::AbstractIntegrator< S, double >
(Template Class AbstractIntegrator)
Class Documentation
-
template<system_state S, can_be_time T = double>
class RealtimeIntegrator : public diffeq::core::AbstractIntegrator<S, double> Real-time integrator with signal processing capabilities.
This class extends the basic integrator functionality with:
Real-time signal processing for control and financial applications
Async communication with external processes
Event-driven parameter updates
High-performance state output
Safety mechanisms and emergency stops
Public Types
-
using base_type = core::AbstractIntegrator<S, T>
-
template<typename U>
using signal_type = RealtimeSignal<U>
-
using control_signal = signal_type<communication::RobotControlMessage>
-
using financial_signal = signal_type<communication::FinancialSignalMessage>
-
using parameter_signal = signal_type<std::unordered_map<std::string, double>>
-
using state_output_signal = signal_type<state_type>
Public Functions
-
inline explicit RealtimeIntegrator(std::unique_ptr<core::AbstractIntegrator<S, T>> base_integrator, RealtimeConfig config = {})
-
inline ~RealtimeIntegrator()
-
RealtimeIntegrator(const RealtimeIntegrator&) = delete
-
RealtimeIntegrator &operator=(const RealtimeIntegrator&) = delete
-
RealtimeIntegrator(RealtimeIntegrator&&) noexcept = default
-
RealtimeIntegrator &operator=(RealtimeIntegrator&&) noexcept = default
-
inline void start_realtime()
Start real-time operation.
-
inline void shutdown()
Stop real-time operation.
-
inline virtual void step(state_type &state, time_type dt) override
Enhanced step function with signal processing.
-
inline virtual void integrate(state_type &state, time_type dt, time_type end_time) override
Enhanced integrate function with real-time capabilities.
-
template<typename ControlData>
inline void send_control_signal(ControlData &&data, double priority = 1.0) Send control signal (for robotics applications)
-
template<typename FinancialData>
inline void send_financial_signal(FinancialData &&data, double priority = 1.0) Send financial signal (for quantitative trading)
-
inline void update_parameters(const std::unordered_map<std::string, double> ¶ms)
Update system parameters dynamically.
-
inline void emergency_stop()
Emergency stop - immediately halt integration.
-
inline state_type get_current_state() const
Get current state (thread-safe)
-
inline void setup_process_connector(communication::ProcessConnector::ConnectionConfig config)
Set up process connector for inter-process communication.
-
template<typename SignalT, SignalHandler<SignalT> Handler>
inline void register_signal_handler(SignalType type, Handler &&handler) Register signal handler for specific signal type.
-
struct RealtimeConfig
Configuration for real-time operation.
Public Members
-
bool enable_realtime_priority = false
-
communication::RealtimePriority::Priority priority = communication::RealtimePriority::Priority::Normal
-
bool lock_memory = false
-
size_t signal_buffer_size = 1024
-
std::chrono::microseconds signal_processing_interval = {100}
-
std::chrono::milliseconds max_signal_latency = {10}
-
bool enable_state_output = true
-
std::chrono::microseconds state_output_interval = {1000}
-
bool enable_realtime_priority = false