OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
Understanding Handler States

Handler's States

Please find all the available states of the Handler in the table below.

State Description
OnixS::Eurex::Trading::HandlerState::Disconnected The Handler is disconnected.
OnixS::Eurex::Trading::HandlerState::Disconnecting The intermediate state when the Handler is not disconnected but not connected.
OnixS::Eurex::Trading::HandlerState::Connected Handler is connected.
OnixS::Eurex::Trading::HandlerState::Connecting The intermediate state when the Handler is not connected but not disconnected.

Tracking Handler's State

To track the Handler's state you need to implement OnixS::Eurex::Trading::HandlerStateListener class interface and register an instance with the Handler using OnixS::Eurex::Trading::Handler::registerHandlerStateListener member.

Handler's States Transitions

Let's take a closer look what triggers transitions between the Handler's states.

Disconnected -> Connecting

Connecting -> Connected

Connecting -> Disconnected

Connected -> Disconnecting

Disconnecting -> Disconnected

Connecting the Handler

If the Handler is in the Disconnected state and user code calls OnixS::Eurex::Trading::Handler::connect, user code will receive a callback with new state set to OnixS::Eurex::Trading::HandlerState::Connecting.

If the Handler is in any other state except Disconnected and user code calls OnixS::Eurex::Trading::Handler::connect, the Handler will first disconnects and only after successful disconnect user code will receive a callback with new state set to OnixS::Eurex::Trading::HandlerState::Connecting.

Disconnecting the Handler

If the Handler is in the Disconnected state and user code calls OnixS::Eurex::Trading::Handler::disconnect, user code will not receive any callback.

If the Handler is in any other state except Disconnected and user code calls OnixS::Eurex::Trading::Handler::disconnect, user code will receive a callback with new state set to OnixS::Eurex::Trading::HandlerState::Disconnecting.