OnixS C++ CME iLink 3 Binary Order Entry Handler  1.12.0
API Documentation
Scheduling Sessions for Automatic Connection

Sessions Scheduler

The Sessions Scheduler service cat automatically connect sessions to the counterparty at the beginning of the trading week/day, keep a session connected for the entire trading week/day, and disconnect it at the end of the last trading week/day.

SessionScheduler class

The OnixS::CME::iLink3::Scheduling::SessionScheduler is the main class of the Sessions Scheduling services.

Registering a Session for Automatic Connection

The OnixS::CME::iLink3::Scheduling::SessionScheduler::add member schedules a session for automatic logon and logout according to the specified session time, that can be given to the Scheduler as an instance of the OnixS::CME::iLink3::Scheduling::SessionSchedule class, or as an id of the predefined schedule.

The OnixS::CME::iLink3::Scheduling::SessionConnectionSettings argument specifies the connection settings.

Note
If the session is being registered between the scheduled logon and logout time, the Scheduler will connect the session immediately.

Removing Session from Scheduler

The OnixS::CME::iLink3::Scheduling::SessionScheduler::remove method removes the given session from the scheduling services.

Note
OnixS::CME::iLink3::Scheduling::SessionScheduler::remove does not disconnect an active session. Therefore, if the session has already been connected by the Scheduler, it remains connected after unregistering.

Handling Scheduling Warnings and Errors

The Scheduler exposes the OnixS::CME::iLink3::Scheduling::SessionSchedulerListener class to notify about errors in the session schedule.

The Scheduler calls the OnixS::CME::iLink3::Scheduling::SessionSchedulerListener::onWarning member to notify about non-critical issues.

Scheduling Rules

Example

using namespace OnixS::CME::iLink3;
std::string host = "";
int port = 0;
SessionSettings settings;
Session session(settings, 1, ONIXS_ILINK3_NULLPTR);
SessionSchedulerOptions schedulerOptions;
SessionScheduler scheduler(schedulerOptions);
SessionConnectionSettings sessionConnectivity(host, port);
scheduler.add(&session, sessionSchedule, sessionConnectivity);
See also
the "SessionScheduler" sample from the distribution package.