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 ); ... }
...
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.
...
Yes, there is DBL TA mode that can be run by using the dblrun utility which is provided with the driver package. More information about DBL TA mode and dblrun utility can be found here.