Table of Contents |
---|
What is Myricom DBL API?
DBL™ is an optional, user-level, software interface for accelerating applications whose performance depends on network latency. Examples of applications that will benefit from DBL™ include algorithmic financial trading and others where reduced network latency is beneficial.
More information can be found here: Myricom DBL.
Does FIXAntenna support DBL UDP API acceleration?
Yes, FIXAntenna supports DBL UDP API acceleration for following Market Data adaptors:
Bats MD Adaptor
To use DBL UDP API acceleration in Bats MD Adaptor you need to set the property Bats::RuntimeParameters::readerType.Example:
Code Block language cpp title Source Code struct AppListener : Bats::ApplicationListener { //your implementation of Bats::ApplicationListener interface }; int main( int argc, char const* argv[] ) { ... //init FIX Engine Engine::FixEngine::init( ); AppListener appListener; Bats::ApplicationOptions options; //set other options ... //Enable using of DBL UDP API acceleration options.params.readerType = Bats::IncrementReaderType::MyricomDBL; options.params.incrementalThreads = 1; //create an application Bats::Application* app = Engine::FixEngine::singleton()->createBatsApplication(options, &appListener); ... }
For more information, please, refer to the link:
- Bovespa MD Adaptor
To use DBL UDP API acceleration in Bovespa MD Adaptor you need to set the properties Bovespa::BovespaApplicationParams::transportType_.
Example:Code Block language cpp title Source Code class BovespaClientApplicationListener : public Bovespa::BovespaApplicationListener { public: //your implementation of Bovespa::BovespaApplicationListener interface BovespaClientApplicationListener(){} ~BovespaClientApplicationListener() {} virtual void onError( std::string const& errorMsg ); virtual void process( Engine::FIXMessage const& msg,std::string const & channel_id ); virtual void onConnectToFeed(std::string const& feedId) {} virtual void onDisconnectFromFeed(std::string const& feedId) {} }; int main( int argc, char const* argv[] ) { ... //init FIX Engine Engine::FixEngine::init(); //Create an application listener BovespaClientApplicationListener appListener; //initialize BovespaApplication parameters Bovespa::BovespaApplicationParams params; //set other options ... params.transportType_ = Bovespa::BovespaApplicationParams::MyricomDBL; //Create an MD application Bovespa::BovespaApplication* application = Engine::FixEngine::singleton()->createBovespaApplication( params, &appListener); ... }
For more information, please, refer to the link:
Bovespa::BovespaApplicationParams::Transport - Cqg MD Adaptor
To use DBL UDP API acceleration in Cqg MD Adaptor you need to set the properties Cqg::MDApplicationParams::transportType_.
Example:Code Block language cpp title Source Code class MyMDApplicationListener : public Cqg::MDApplicationListener { public: //your implementation of Cqg::MDApplicationListener interface virtual void process( ::Engine::FIXMessage const& msg, FeedID const &feedId ); }; int main( int argc, char const* argv[] ) { ... //init FIX Engine Engine::FixEngine::init(); //Create an application listener MyMDApplicationListener listener; //initialize parameters Cqg::MDApplicationParams params; //set other options ... params.transportType_ = Cqg::MDApplicationParams::MyricomDBL; //Create an MD application Cqg::MDApplication* app = Engine::FixEngine::singleton()->createCqgMDApplication( &listener, params); ... }
...
Cqg::MDApplicationParams::Transport
To use DBL UDP API acceleration in MOEX MD Adaptor you need to set the property Micex::Mfix::MDApplicationParams::transportType_.
Example:Code Block language cpp title Source Code //init FIX Engine Engine::FixEngine::init( ); //Create Application listener (you need to implement the MDApplicationListener interface ) MDApplicationListener* appListener = new MyMDApplicationListener; //configure parameters Micex::Mfix::MDApplicationParams appParams; ... appParams.transportType_ = Micex::Mfix::MDApplicationParams::MyricomDBL; ... //Create Micex MD Application Micex::Mfix::MDApplication* app = Engine::FixEngine::singleton()->createMICEXApplication( appParams, appListener );
For more information, please, refer to the link:
Micex::Mfix::MDApplicationParams::Transport
- Spectra MD Adaptor
To use DBL UDP API acceleration in Spectra MD Adaptor you need to set the properties Spectra::SpectraApplicationParams::transportType_.
Example:
Code Block language cpp title Source Code int main( int argc, char const* argv[] ) { ... //init FIX Engine Engine::FixEngine::init(); //Create an application listener MyMDApplicationListener listener; //initialize parameters Spectra::SpectraApplicationParams params; //set other options ... params.transportType_ = Spectra::SpectraApplicationParams::MyricomDBL; //Create MD Application Spectra::SpectraApplication* application = Engine::FixEngine::singleton()->createSpectraApplication( params ); ... }
For more information, please, refer to the link:
Spectra::SpectraApplicationParams::Transport
- CME Globex MD Adaptor
To use DBL UDP API acceleration in Spectra MD Adaptor you need to set the properties Globex::MDApplicationParams::transportType_.
Example:
Code Block language cpp title Source Code class MyGlobexApplicationListener : public Globex::MDApplicationListener { public: virtual void onError( std::string const& error ); }; int main( int argc, char const* argv[] ) { ... //init FIX Engine Engine::FixEngine::init(); //Create an application listener MyGlobexApplicationListener listener; // Initialize parameters Globex::MDApplicationParams params; //set other options ... params.transportType_ = Globex::MDApplicationParams::MyricomDBL; // Create MDApplication object Globex::MDApplication* application = Engine::FixEngine::singleton()->createMDApplication( params, &listener ); ... }
...
Globex::MDApplicationParams::Transport
Does FIXAntenna support DBL TCP API acceleration?
Yes, FIXAntenna supports DBL TCP API acceleration for FIX Sessions.
...