/
Appendix A. Interfaces
Appendix A. Interfaces
Mit::Application
// Releasing virtual void release() const = 0; // Name virtual std::string getName() const = 0; // Opening / closing virtual bool opened() const = 0; // Initializes the application, creates and adds services from the configuration file. // The services are created in the disconnected state and should be connected explicitly. // applicationListener should stay alive until close() is called. virtual void open(ApplicationListener* applicationListener) = 0; // Removes the services and finalizes the application. // Should only be called if open() succeeded. virtual void close() = 0; // Services // Returns the number of existing services. virtual size_t getServiceCount() const = 0; // Returns a service by index. virtual Service* getService(size_t index) = 0; // Finds a service by name. Returns 0 if the service does not exist. virtual Service* findService(const std::string& name) = 0; // Creates and adds a new service to the application. // The service is created in the disconnected state and should be connected explicitly. virtual Mit::Service* addService ( ServiceType serviceType, const std::string& name, const ServiceOptions& serviceOptions ) = 0; // Removes the service from the application and destroys it. virtual void removeService(const std::string& name) = 0; // Removes all the services from the application and destroys them. virtual void removeAllServices() = 0;
Mit::ApplicationListener
// Services // Called after a service is created and added to the application virtual void onServiceAdded(Application* application, Service* service) = 0; // Called before a service is removed from the application and destroyed virtual void onServiceRemoving(Application* application, Service* service) = 0; // Instruments // Called after an instrument is created and added to a service virtual void onInstrumentAdded(Application* application, Service* service, Instrument* instrument) = 0; // Called before an instrument is removed from a service and destroyed virtual void onInstrumentRemoving(Application* application, Service* service, Instrument* instrument) = 0;
Mit::Service
// Releasing virtual void release() const = 0; // Type virtual ServiceType getType() const = 0; // Name virtual std::string getName() const = 0; // Connecting / disconnecting virtual bool connected() const = 0; // Connects the service to the mutlicast group. // serviceListener should stay alive until disconnect() is called. virtual void connect(ServiceListener* serviceListener) = 0; // Disconnects the service from the mutlicast group. // Should only be called if connect() succeeded. virtual void disconnect() = 0; // Instruments // Returns the number of existing instruments. virtual size_t getInstrumentCount() const = 0; // Returns an instrument by index. virtual Instrument* getInstrument(size_t index) = 0; // Finds an instrument by ID. Returns 0 if the instrument does not exist. virtual Instrument* findInstrument(const std::string& id) = 0; // Creates and adds a new instrument to the service. virtual Instrument* addInstrument(const std::string& id) = 0; // Removes the instrument from the service and destroys it. virtual void removeInstrument(const std::string& id) = 0; // Removes all the instruments from the service and destroys them. virtual void removeAllInstruments() = 0; // Statistics // Returns service statistics snapshot. // connectionStatistics can be 0. // dateStatistics can be 0. virtual void getStatistics ( ServiceConnectionStatistics* connectionStatistics, ServiceDateStatistics* dateStatistics ) const = 0;
Mit::ServiceListener
// Messages // Called on service reset. The client should reset all its message derived data. virtual void onReset(Service* service, ResetReason resetReason) = 0; // Called on FIX message. virtual void onFixMessage(Service* service, Engine::FIXMessage* message) = 0; // Called on ITCH message. virtual void onItchMessage(Service* service, const Jse::Itch::MessageHeader* messageHeader) = 0; // Called on ITCH message. virtual void onItchMessage(Service* service, const Lse::Itch::MessageHeader* messageHeader) = 0;
Mit::Instrument
// Releasing virtual void release() const = 0; // ID virtual std::string getId() const = 0; // Subscribing / unsubscribing virtual bool subscribed() const = 0; // Subscribes to an instrument. // instrumentListener should stay alive until unsubscribe() is called. virtual void subscribe(InstrumentListener* instrumentListener) = 0; // Unsubscribes from an instrument. // Should only be called if subscribe() succeeded. virtual void unsubscribe() = 0; // Returns instrument statistics snapshot. virtual void getStatistics(InstrumentStatistics& statistics) = 0;
Mit::InstrumentListener
// Messages // Called on an instrument reset. The client should reset all its message derived data. virtual void onReset(Instrument* instrument, ResetReason resetReason) = 0; // Called on a FIX message. virtual void onFixMessage(Instrument* instrument, Engine::FIXMessage* message, PerformanceIndicator* performanceIndicator) = 0;
Mit::ConnectionManager
// Releasing virtual void release() const = 0; // Opening / closing virtual bool opened() const = 0; // Initializes connection manager virtual void open() = 0; // Finalizes connection manager virtual void close() = 0; // Connections // Creates a UDP connection. // The connection is created in the disconnected state and should be connected explicitly. // The connection should be destroyed with UdpConnection::release(). // It is possible to have several connections created at the same time. virtual UdpConnection* createUdpConnection(const std::string& name, bool logData) = 0; // Creates a TCP connection. // The connection is created in the disconnected state and should be connected explicitly. // The connection should be destroyed with TcpConnection::release(). // It is possible to have several connections created at the same time. virtual TcpConnection* createTcpConnection(const std::string& name, bool logData) = 0; // Tasks // Posts the task for asynchronous execution in the context of another thread. // connectionManagerListener should stay alive until ConnectionManagerListener::onTask() is called. virtual void postTask ( const std::string& name, void* parameters, ConnectionManagerListener* connectionManagerListener ) = 0;
Mit::UdpConnection
// Releasing virtual void release() const = 0; // Name virtual std::string getName() const = 0; // Connecting / disconnecting virtual bool connected() const = 0; // Connects to the multicast group. // connectionListener should stay alive until disconnect() is called. virtual void connect ( const std::string& localAddress, const std::string& groupAddress, System::u16 port, UdpConnectionListener* connectionListener ) = 0; // Disconnects from the multicast group. // Should only be called if connect() succeeded. virtual void disconnect() = 0;
Mit::UdpConnectionListener
// Data // Returns the size of data to receive and pass to onDataReceived() or 0. virtual size_t getDataSize(UdpConnection* connection, const void* data, size_t size) = 0; // Called on data received. virtual void onDataReceived(UdpConnection* connection, const void* data, size_t size) = 0; // Called to notify that no more data is available. virtual void onNoData(UdpConnection* connection) = 0;
Mit::TcpConnection
// Releasing virtual void release() const = 0; // Name virtual std::string getName() const = 0; // Connecting / disconnecting virtual bool connected() const = 0; // Connects to the remote endpoint. virtual void connect(const std::string& localAddress, const std::string& remoteAddress, System::u16 port) = 0; // Disconnects from the remote endpoint. // Should only be called if connect() succeeded. virtual void disconnect() = 0; // Sending / receiving // Sends the data synchronously. virtual void sendData(const void* data, size_t size) = 0; // Receives the size of data synchronously. virtual void receiveData(void* data, size_t size) = 0;
, multiple selections available,
Related content
Appendix C. Configuration File for LSE
Appendix C. Configuration File for LSE
Read with this
FIX Antenna HFT Quick Start Guide
FIX Antenna HFT Quick Start Guide
More like this
MilleniumIT Market Data Adapter
MilleniumIT Market Data Adapter
Read with this
FIX Antenna Quick Start Guide
FIX Antenna Quick Start Guide
More like this
MOEX Spectra Market Data Adapter
MOEX Spectra Market Data Adapter
Read with this
How to pause listening incoming connections
How to pause listening incoming connections
More like this