61 bool * allowLogout) = 0;
81 const std::string & warningReason) = 0;
90 const std::string & errorReason) = 0;
154 std::string * configurationFile_;
#define ONIXS_FIXENGINE_API
The collection of connection-related attributes for the session.
SessionScheduler events notifications.
virtual void onWarning(const SessionScheduler &scheduler, Session *session, const std::string &warningReason)=0
virtual void onError(const SessionScheduler &scheduler, Session *session, const std::string &errorReason)=0
virtual void onLoggingOut(const SessionScheduler &scheduler, Session *session, bool *allowLogout)=0
virtual ~SessionSchedulerListener()=default
virtual void onInitiatorConnecting(const SessionScheduler &, Session *, const Counterparty &)
SchedulerThreadingModel::Enum threadingModel() const
The threading model.
const std::string & configurationFile() const
The path to the scheduler configuration file.
SessionSchedulerListener * eventListener() const
An instance of the event listener to notify about events.
void configurationFile(const std::string &file)
void threadingModel(SchedulerThreadingModel::Enum threadingModel)
Updates the threading model.
SessionSchedulerOptions()
Initializes parameters with default values.
~SessionSchedulerOptions()
Cleans everything up.
void eventListener(SessionSchedulerListener *listener)
Associates the given event listener with the scheduler.
int reconnectInterval() const
bool utcTimeUsage() const
int reconnectAttempts() const
SessionScheduler(const SessionSchedulerOptions &options)
void reconnectInterval(int value)
void add(Session *session, const SessionSchedule &schedule, const SessionConnectionSettings &connection)
void add(Session *session, const SessionScheduleId &scheduleId, const SessionConnectionSettingsId &connectionId)
void serviceThreadAffinity(const OnixS::Threading::CpuIndexes &cpuIndexes)
const SessionConnectionSettings * findConnectionSettings(const SessionConnectionSettingsId &id) const
~SessionScheduler()
Performs the graceful shutdown of scheduling services.
void utcTimeUsage(bool value)
const SessionSchedule * findSchedule(const SessionScheduleId &id) const
const OnixS::Threading::CpuIndexes & serviceThreadAffinity() const
bool isScheduled(Session *session)
void remove(Session *session)
void reconnectAttempts(int value)
ONIXS_FIXENGINE_API_DECL(class, SessionScheduler)
std::string SessionScheduleId
std::string SessionConnectionSettingsId
ONIXS_FIXENGINE_API_DECL(class, IEngineListener)
std::set< CpuIndex > CpuIndexes
The way in which the Scheduler will utilize threads.
@ DedicatedThreads
Scheduler will use its own threads.
@ ExternalThread
Scheduler events are handled by rolling an event loop in a user thread.
static ONIXS_FIXENGINE_API Enum parse(const std::string &fromText)
static ONIXS_FIXENGINE_API const char * toString(SchedulerThreadingModel::Enum value)
Returns the textual representation of the SchedulerThreadingModel::Enum value.