Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 folliwing 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
languagecpp
titleSource 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:

...

 

...

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 folliwing Market Data adaptors:

    • Bats MD Adaptor 
       
      To use DBL UDP API acceleration in Bovespa Bats MD Adaptor you need to set the properties Bovespa::BovespaApplicationParams::transportType_.
      Example:

      Code Block
      languagecpp
      titleSource 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
      languagecpp
      titleSource 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();

      property Bats::RuntimeParameters::readerType.

      Example:

      Code Block
      languagecpp
      titleSource 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:

      Bats::IncrementReaderType

       
    • 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
      languagecpp
      titleSource 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
       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);
       ...
      }

    For more information, please, refer to the link:

    Cqg::MDApplicationParams::Transport

 

    • MOEX MD Adaptor

      To use DBL UDP API acceleration in MOEX MD Adaptor you need to set the property Micex::Mfix::MDApplicationParams::transportType_.
      Example:
      Code Block
      languagecpp
      titleSource Code
        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
      languagecpp
      titleSource 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 Applicationan application listener
      (you need to implement the MDApplicationListener interface )
       MDApplicationListener* appListener = new MyMDApplicationListener;
      
       //configure parameters
       Micex::Mfix	MyMDApplicationListener listener;
       
      	//initialize parameters
      	Cqg::MDApplicationParams appParams;
       params;
      	//set other options
      	...
       appParams	params.transportType_ = Micex::MfixCqg::MDApplicationParams::MyricomDBL;
      	
      ...
       	//Create Micexan MD Application
       Micex::Mfixapplication
      	Cqg::MDApplication* app = Engine::FixEngine::singleton()->createMICEXApplication>createCqgMDApplication( appParams&listener, appListener params);
       ...
       }

    For more information, please, refer to the link:

    Micex:Cqg:Mfix::MDApplicationParams::Transport

 

    • FORTS

      MOEX MD Adaptor

      To use DBL UDP API acceleration in FORTS MOEX MD Adaptor you need to set the properties Fortsproperty Micex::Mfix::FortsApplicationParamsMDApplicationParams::transportType_.  

      Example:

      Code Block
      languagecpp
      titleSource Code
      int main( int argc, char const* argv[] )
      {
      ...
      	//init FIX Engine
      	Engine::FixEngine::init();
       
      	//Create an application listener
      	MyMDApplicationListener listener;
       
      	//initialize parameters
      	Forts::FortsApplicationParams params;
      	//set other options
      	...
          params //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_ = FortsMicex::Mfix::FortsApplicationParamsMDApplicationParams::MyricomDBL;
        ...
        	//Create Micex MD Application
          FortsMicex::Mfix::FortsApplicationMDApplication* applicationapp = Engine::FixEngine::singleton()->createFortsApplication>createMICEXApplication( appParams, paramsappListener );
       ...
      } 

    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
      languagecpp
      titleSource 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
      languagecpp
      titleSource 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.

...