void AppClient::processDictionaryRequest(const ReqMsg& reqMsg, const OmmProviderEvent& event) { result = false; refreshMsg.clear().clearCache( true ); if ( reqMsg.getName() == "RWFFld" ) { currentValue = dataDictionary.getMinFid(); while ( !result ) { result = dataDictionary.encodeFieldDictionary( series, currentValue, reqMsg.getFilter(), fragmentationSize ); event.getProvider().submit( refreshMsg.name( reqMsg.getName() ).serviceName( reqMsg.getServiceName() ).domainType( MMT_DICTIONARY ). filter( reqMsg.getFilter() ).payload( series ).complete( result ).solicited( true ), event.getHandle() ); refreshMsg.clear(); } } else if ( reqMsg.getName() == "RWFEnum" ) { currentValue = 0; while ( !result ) { result = dataDictionary.encodeEnumTypeDictionary( series, currentValue, reqMsg.getFilter(), fragmentationSize ); event.getProvider().submit( refreshMsg.name( reqMsg.getName() ).serviceName( reqMsg.getServiceName() ).domainType( MMT_DICTIONARY ). filter( reqMsg.getFilter() ).payload( series ).complete( result ).solicited( true ), event.getHandle() ); refreshMsg.clear(); } } }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ommEvent ) { ResultValidation* closure = (ResultValidation*)(ommEvent.getClosure()); closure->closureValidate(refreshMsg.getName()); if ( refreshMsg.getSolicited() ) ++ResultValidation::_numRefreshReceived; }
int main( int argc, char* argv[] ) { try { Map configMap; createProgrammaticConfig( configMap ); OmmProvider provider( OmmNiProviderConfig().config( configMap ).username( "user" ) ); UInt64 ibmHandle = 5; UInt64 triHandle = 6; RefreshMsg refresh; UpdateMsg update; FieldList fieldList; provider.submit( refresh.serviceName( "NI_PUB" ).name( "IBM.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList .addReal( 22, 14400, OmmReal::ExponentNeg2Enum ) .addReal( 25, 14700, OmmReal::ExponentNeg2Enum ) .addReal( 30, 9, OmmReal::Exponent0Enum ) .addReal( 31, 19, OmmReal::Exponent0Enum ) .complete() ) .complete(), ibmHandle ); provider.submit( refresh.clear().serviceName( "NI_PUB" ).name( "TRI.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList.clear() .addReal( 22, 4100, OmmReal::ExponentNeg2Enum ) .addReal( 25, 4200, OmmReal::ExponentNeg2Enum ) .addReal( 30, 20, OmmReal::Exponent0Enum ) .addReal( 31, 40, OmmReal::Exponent0Enum ) .complete() ) .complete(), triHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 60; i++ ) { provider.submit( update.clear().serviceName( "NI_PUB" ).name( "IBM.N" ) .payload( fieldList.clear() .addReal( 22, 14400 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 10 + i, OmmReal::Exponent0Enum ) .complete() ), ibmHandle ); provider.submit( update.clear().serviceName( "NI_PUB" ).name( "TRI.N" ) .payload( fieldList.clear() .addReal( 22, 4100 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 21 + i, OmmReal::Exponent0Enum ) .complete() ), triHandle ); sleep( 1000 ); } } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ) { if ( refreshMsg.hasMsgKey() ) cout << endl << "Item Name: " << refreshMsg.getName() << endl << "Service Name: " << refreshMsg.getServiceName(); cout << endl << "Item State: " << refreshMsg.getState().toString() << endl; if ( DataType::FieldListEnum == refreshMsg.getPayload().getDataType() ) decode( refreshMsg.getPayload().getFieldList() ); }
void AppClient::processMarketPriceRequest( const ReqMsg& reqMsg, const OmmProviderEvent& event ) { if ( itemHandle != 0 ) { processInvalidItemRequest( reqMsg, event ); return; } try{ event.getProvider().submit( refreshMsg.clear().name(reqMsg.getName()).serviceId(5).solicited(true). state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "Refresh Completed" ). payload( FieldList(). addReal( 22, 3990, OmmReal::ExponentNeg2Enum ). addReal( 25, 3994, OmmReal::ExponentNeg2Enum ). addReal( 30, 9, OmmReal::Exponent0Enum ). addReal( 31, 19, OmmReal::Exponent0Enum ). complete() ). complete(), event.getHandle() ); itemHandle = event.getHandle(); } catch ( const OmmException& excp ) { cout << excp << endl; } }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ) { ++refreshCount; const Payload& payload = refreshMsg.getPayload(); if ( payload.getDataType() == DataType::FieldListEnum ) decode( payload.getFieldList() ); }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ) { cout << endl << "Item Name: " << ( refreshMsg.hasName() ? refreshMsg.getName() : EmaString( "<not set>" ) ) << endl << "Service Name: " << (refreshMsg.hasServiceName() ? refreshMsg.getServiceName() : EmaString( "<not set>" ) ); cout << endl << "Item State: " << refreshMsg.getState().toString() << endl; if ( DataType::MapEnum == refreshMsg.getPayload().getDataType() ) decode( refreshMsg.getPayload().getMap() ); }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ommEvent ) { cout << endl << "Item Name: " << ( refreshMsg.hasName() ? refreshMsg.getName() : EmaString( "<not set>" ) ) << endl << "Service Name: " << (refreshMsg.hasServiceName() ? refreshMsg.getServiceName() : EmaString( "<not set>" ) ); cout << endl << "Item State: " << refreshMsg.getState().toString() << endl; cout << "Item Handle: " << ommEvent.getHandle() << endl << "Item Closure: " << ommEvent.getClosure() << endl; if ( DataType::FieldListEnum == refreshMsg.getPayload().getDataType() ) decode( refreshMsg.getPayload().getFieldList() ); }
void AppClient::onRefreshMsg(const RefreshMsg& refreshMsg, const OmmProviderEvent& ommEvent) { cout << endl << "Handle: " << ommEvent.getHandle() << " Closure: " << ommEvent.getClosure() << endl; cout << endl << "Item Name: " << (refreshMsg.hasName() ? refreshMsg.getName() : EmaString("<not set>")) << endl << "Service Name: " << (refreshMsg.hasServiceName() ? refreshMsg.getServiceName() : EmaString("<not set>")); cout << endl << "Item State: " << refreshMsg.getState().toString() << endl; decode(refreshMsg, refreshMsg.getComplete()); }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ommEvent ) { cout << "Handle: " << ommEvent.getHandle() << " Closure: " << ommEvent.getClosure() << endl; if ( refreshMsg.hasMsgKey() ) cout << "Item Name: " << ( refreshMsg.hasName() ? refreshMsg.getName() : EmaString( "name not set" ) ) << endl << "Service Name: " << ( refreshMsg.hasServiceName() ? refreshMsg.getServiceName() : EmaString( "service name not set" ) ) << endl; cout << "Item State: " << refreshMsg.getState().toString() << endl; decode( refreshMsg ); }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ommEvent ) { cout << "Received Refresh. Item Handle: " << ommEvent.getHandle() << " Closure: " << ommEvent.getClosure() << endl; if ( refreshMsg.hasMsgKey() ) cout << endl << "Item Name: " << refreshMsg.getName() << endl << "Service Name: " << refreshMsg.getServiceName(); cout << endl << "Item State: " << refreshMsg.getState().toString() << endl; if ( DataType::FieldListEnum == refreshMsg.getPayload().getDataType() ) decode( refreshMsg.getPayload().getFieldList() ); // Reissue item's priority after receiving the first refresh message if ( refreshMsg.getState().getStreamState() == OmmState::OpenEnum && refreshMsg.getState().getDataState() == OmmState::OkEnum && !hasFirstRefresh ) { _pOmmConsumer->reissue( ReqMsg().priority( 2, 2 ), ommEvent.getHandle() ); hasFirstRefresh = true; } }
void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ommEvent ) { cout << endl << "Received: " << "RefreshMsg" << endl << "Handle: " << ommEvent.getHandle() << " Closure: " << ommEvent.getClosure() << endl; if ( refreshMsg.hasMsgKey() ) cout << "Item Name: " << refreshMsg.getName() << endl << "Service Name: " << ( refreshMsg.hasServiceName() ? refreshMsg.getServiceName() : EmaString( "not set" ) ) << endl; cout << "Item State: " << refreshMsg.getState().toString() << endl; if ( refreshMsg.getDomainType() == MMT_LOGIN && refreshMsg.getState().getStreamState() == OmmState::OpenEnum && refreshMsg.getState().getDataState() == OmmState::OkEnum ) { _pOmmConsumer->submit( PostMsg().postId( 1 ).serviceId( 1501 ).name( "TRI.N" ).solicitAck( true ).complete().payload( RefreshMsg().payload( FieldList().addReal( 25, 35, OmmReal::ExponentPos1Enum ).complete() ).complete() ), ommEvent.getHandle() ); } decode( refreshMsg ); }
int main() { try { OmmProvider provider( OmmNiProviderConfig().adminControlDirectory( OmmNiProviderConfig::UserControlEnum ).username( "user" ) ); UInt64 serviceId = 0; UInt64 sourceDirectoryHandle = 1; UInt64 ibmHandle = 5; RefreshMsg refresh; UpdateMsg update; FieldList fieldList; provider.submit( refresh.domainType( MMT_DIRECTORY ).filter( SERVICE_INFO_FILTER | SERVICE_STATE_FILTER ) .payload( Map() .addKeyUInt( serviceId, MapEntry::AddEnum, FilterList() .add( SERVICE_INFO_ID, FilterEntry::SetEnum, ElementList() .addAscii( ENAME_NAME, "TEST_NI_PUB" ) .addArray( ENAME_CAPABILITIES, OmmArray() .addUInt( MMT_MARKET_PRICE ) .addUInt( MMT_MARKET_BY_PRICE ) .complete( ) ) .addArray( ENAME_DICTIONARYS_USED, OmmArray() .addAscii( "RWFFld" ) .addAscii( "RWFEnum" ) .complete( ) ) .complete() ) .add( SERVICE_STATE_ID, FilterEntry::SetEnum, ElementList() .addUInt( ENAME_SVC_STATE, SERVICE_UP ) .complete() ) .complete() ) .complete() ).complete(), sourceDirectoryHandle ); provider.submit( refresh.clear().serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList .addReal( 22, 14400, OmmReal::ExponentNeg2Enum ) .addReal( 25, 14700, OmmReal::ExponentNeg2Enum ) .addReal( 30, 9, OmmReal::Exponent0Enum ) .addReal( 31, 19, OmmReal::Exponent0Enum ) .complete() ) .complete(), ibmHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 60; i++ ) { provider.submit( update.clear().serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .payload( fieldList.clear() .addReal( 22, 14400 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 10 + i, OmmReal::Exponent0Enum ) .complete() ), ibmHandle ); sleep( 1000 ); } } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }
void AppClient::processLoginRequest( const ReqMsg& reqMsg, const OmmProviderEvent& event ) { event.getProvider().submit( refreshMsg.clear().domainType(MMT_LOGIN).name(reqMsg.getName()).nameType(USER_NAME).complete(). attrib( ElementList().complete() ).solicited( true ).state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "Login accepted" ) , event.getHandle() ); }
int main( int argc, char* argv[] ) { try { OmmNiProviderConfig config; int securityProtocol = 0; for (int i = 0; i < argc; i++) { if (strcmp(argv[i], "-?") == 0) { printHelp(); return false; } else if (strcmp(argv[i], "-ph") == 0) { config.tunnelingProxyHostName(i < (argc - 1) ? argv[++i] : NULL); } else if (strcmp(argv[i], "-pp") == 0) { config.tunnelingProxyPort(i < (argc - 1) ? argv[++i] : NULL); } else if (strcmp(argv[i], "-spTLSv1") == 0) { securityProtocol |= OmmNiProviderConfig::ENC_TLSV1; } else if (strcmp(argv[i], "-spTLSv1.1") == 0) { securityProtocol |= OmmNiProviderConfig::ENC_TLSV1_1; } else if (strcmp(argv[i], "-spTLSv1.2") == 0) { securityProtocol |= OmmNiProviderConfig::ENC_TLSV1_2; } else if (strcmp(argv[i], "-libsslName") == 0) { config.tunnelingLibSslName(i < (argc - 1) ? argv[++i] : NULL); } else if (strcmp(argv[i], "-libcryptoName") == 0) { config.tunnelingLibCryptoName(i < (argc - 1) ? argv[++i] : NULL); } } if (securityProtocol > 0) config.tunnelingSecurityProtocol(securityProtocol); //API QA Map configMap; createProgrammaticConfig(configMap); OmmProvider provider( config.config(configMap).username( "user" ).providerName( "Provider_4" ) ); //END API QA UInt64 ibmHandle = 5; UInt64 triHandle = 6; RefreshMsg refresh; UpdateMsg update; FieldList fieldList; provider.submit( refresh.serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList .addReal( 22, 14400, OmmReal::ExponentNeg2Enum ) .addReal( 25, 14700, OmmReal::ExponentNeg2Enum ) .addReal( 30, 9, OmmReal::Exponent0Enum ) .addReal( 31, 19, OmmReal::Exponent0Enum ) .complete() ) .complete(), ibmHandle ); provider.submit( refresh.clear().serviceName( "TEST_NI_PUB" ).name( "TRI.N" ) .state( OmmState::OpenEnum, OmmState::OkEnum, OmmState::NoneEnum, "UnSolicited Refresh Completed" ) .payload( fieldList.clear() .addReal( 22, 4100, OmmReal::ExponentNeg2Enum ) .addReal( 25, 4200, OmmReal::ExponentNeg2Enum ) .addReal( 30, 20, OmmReal::Exponent0Enum ) .addReal( 31, 40, OmmReal::Exponent0Enum ) .complete() ) .complete(), triHandle ); sleep( 1000 ); for ( Int32 i = 0; i < 60; i++ ) { provider.submit( update.clear().serviceName( "TEST_NI_PUB" ).name( "IBM.N" ) .payload( fieldList.clear() .addReal( 22, 14400 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 10 + i, OmmReal::Exponent0Enum ) .complete() ), ibmHandle ); provider.submit( update.clear().serviceName( "TEST_NI_PUB" ).name( "TRI.N" ) .payload( fieldList.clear() .addReal( 22, 4100 + i, OmmReal::ExponentNeg2Enum ) .addReal( 30, 21 + i, OmmReal::Exponent0Enum ) .complete() ), triHandle ); sleep( 1000 ); } } catch ( const OmmException& excp ) { cout << excp << endl; } return 0; }