void initializeConsumerRole(LoginRequest loginReq, DirectoryRequest dirReq) { ConsumerRole consumerRole = ReactorFactory.createConsumerRole(); loginReq.applyHasRole(); loginReq.role(Login.RoleTypes.CONS); consumerRole.rdmLoginRequest(loginReq); consumerRole.rdmDirectoryRequest(dirReq); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.NONE); consumerRole.loginMsgCallback(_baseImpl.loginCallbackClient()); consumerRole.dictionaryMsgCallback(_baseImpl.dictionaryCallbackClient()); consumerRole.directoryMsgCallback(_baseImpl.directoryCallbackClient()); consumerRole.channelEventCallback(_baseImpl.channelCallbackClient()); consumerRole.defaultMsgCallback(_baseImpl.itemCallbackClient()); ConsumerWatchlistOptions watchlistOptions = consumerRole.watchlistOptions(); watchlistOptions.channelOpenCallback(this); watchlistOptions.enableWatchlist(true); watchlistOptions.itemCountHint(_baseImpl.activeConfig().itemCountHint); watchlistOptions.obeyOpenWindow(_baseImpl.activeConfig().obeyOpenWindow > 0 ? true : false); watchlistOptions.postAckTimeout(_baseImpl.activeConfig().postAckTimeout); watchlistOptions.requestTimeout(_baseImpl.activeConfig().requestTimeout); watchlistOptions.maxOutstandingPosts(_baseImpl.activeConfig().maxOutstandingPosts); _rsslReactorRole = consumerRole; initializeReactor(); }
assertEquals(ReactorRoleTypes.CONSUMER, consumerRole.type()); assertEquals(ReactorRoleTypes.PROVIDER, providerRole.type()); assertEquals(ReactorRoleTypes.NIPROVIDER, niProviderRole.type()); assertEquals(DictionaryDownloadModes.NONE, consumerRole.dictionaryDownloadMode()); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.FIRST_AVAILABLE); assertEquals(DictionaryDownloadModes.FIRST_AVAILABLE, consumerRole.dictionaryDownloadMode()); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.NONE); assertEquals(DictionaryDownloadModes.NONE, consumerRole.dictionaryDownloadMode()); loginRequest.rdmMsgType(LoginMsgType.REQUEST); loginRequest.initDefaultRequest(11); consumerRole.rdmLoginRequest(loginRequest); consumerRole.initDefaultRDMLoginRequest(); assertNotNull(consumerRole.rdmLoginRequest()); verifyLoginRequest(consumerRole.rdmLoginRequest(), Login.RoleTypes.CONS, 11); consumerRole.rdmLoginRequest(loginRequest); consumerRole.initDefaultRDMLoginRequest(); assertNotNull(consumerRole.rdmLoginRequest()); verifyLoginRequest(consumerRole.rdmLoginRequest(), Login.RoleTypes.CONS, ConsumerRole.LOGIN_STREAM_ID); directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); directoryRequest.streamId(22); consumerRole.rdmDirectoryRequest(directoryRequest); consumerRole.initDefaultRDMDirectoryRequest(); assertNotNull(consumerRole.rdmDirectoryRequest()); verifyDirectoryRequest(consumerRole.rdmDirectoryRequest(), 22);
void copy(ConsumerRole role) { super.copy(role); _loginMsgCallback = role.loginMsgCallback(); _directoryMsgCallback = role.directoryMsgCallback(); _dictionaryMsgCallback = role.dictionaryMsgCallback(); _dictionaryDownloadMode = role.dictionaryDownloadMode(); _consumerWatchlistOptions.copy(role.watchlistOptions()); copyLoginRequest(role.rdmLoginRequest()); copyDirectoryRequest(role.rdmDirectoryRequest()); }
ConsumerRole createDefaultConsumerRole(ReactorCallbackHandler callbackHandler) { ConsumerRole consumerRole = ReactorFactory.createConsumerRole(); assertNotNull(consumerRole); assertNotNull(callbackHandler); consumerRole.defaultMsgCallback(callbackHandler); consumerRole.channelEventCallback(callbackHandler); consumerRole.loginMsgCallback(callbackHandler); consumerRole.directoryMsgCallback(callbackHandler); consumerRole.dictionaryMsgCallback(callbackHandler); return consumerRole; }
consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.FIRST_AVAILABLE); assertEquals(ReactorReturnCodes.INVALID_USAGE, reactor.connect(rcOpts, consumerRole, errorInfo)); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.NONE); assertEquals(ReactorReturnCodes.SUCCESS, reactor.connect(rcOpts, consumerRole, errorInfo)); assertEquals("DIRECT_FEED", submitOptions.serviceName()); assertNotNull(submitOptions.requestMsgOptions().userSpecObj()); assertNull(consumerRole.rdmLoginRequest()); consumerRole.initDefaultRDMLoginRequest(); consumerRole.initDefaultRDMDirectoryRequest(); LoginRequest loginRequest = consumerRole.rdmLoginRequest(); assertNotNull(loginRequest); assertEquals(ReactorReturnCodes.SUCCESS, event.reactorChannel().submit(loginRequest, submitOptions, errorInfo));
assertEquals(null, callbackHandler.lastChannelEvent()); ConsumerRole consumerRole = createWatchlistConsumerRole(callbackHandler); consumerRole.initDefaultRDMLoginRequest(); consumerRole.initDefaultRDMDirectoryRequest(); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.FIRST_AVAILABLE); assertEquals(ReactorReturnCodes.INVALID_USAGE, reactor.connect(rcOpts, consumerRole, errorInfo)); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.NONE); assertEquals(ReactorReturnCodes.SUCCESS, reactor.connect(rcOpts, consumerRole, errorInfo));
consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.FIRST_AVAILABLE); assertEquals(ReactorReturnCodes.INVALID_USAGE, reactor.connect(rcOpts, consumerRole, errorInfo)); consumerRole.dictionaryDownloadMode(DictionaryDownloadModes.NONE); assertEquals(ReactorReturnCodes.SUCCESS, reactor.connect(rcOpts, consumerRole, errorInfo)); assertEquals("DIRECT_FEED", submitOptions.serviceName()); assertNotNull(submitOptions.requestMsgOptions().userSpecObj()); assertNull(consumerRole.rdmLoginRequest()); consumerRole.initDefaultRDMLoginRequest(); LoginRequest loginRequest = consumerRole.rdmLoginRequest(); assertNotNull(loginRequest); assertEquals(ReactorReturnCodes.SUCCESS, event.reactorChannel().submit(loginRequest, submitOptions, errorInfo));
&& msg.streamId() == ((ConsumerRole)reactorRole).rdmDirectoryRequest().streamId() && reactorChannel.role().type() == ReactorRoleTypes.CONSUMER && _directoryMsg.rdmMsgType() == DirectoryMsgType.REFRESH) if (((ConsumerRole)reactorRole).dictionaryDownloadMode() == DictionaryDownloadModes.FIRST_AVAILABLE) if (dictionaryName.equals(((ConsumerRole)reactorRole).fieldDictionaryName().toString())) hasFieldDictionary = true; if (dictionaryName.equals(((ConsumerRole)reactorRole).enumTypeDictionaryName().toString())) hasEnumTypeDictionary = true; ((ConsumerRole)reactorRole).initDefaultRDMFieldDictionaryRequest(); dictionaryRequest = ((ConsumerRole)reactorRole).rdmFieldDictionaryRequest(); dictionaryRequest.serviceId(serviceId); encodeAndWriteDictionaryRequest(dictionaryRequest, reactorChannel, errorInfo); ((ConsumerRole)reactorRole).initDefaultRDMEnumDictionaryRequest(); dictionaryRequest = ((ConsumerRole)reactorRole).rdmEnumDictionaryRequest(); dictionaryRequest.serviceId(serviceId); encodeAndWriteDictionaryRequest(dictionaryRequest, reactorChannel, errorInfo);
if (((ConsumerRole)role).rdmDirectoryRequest() != null && ((ConsumerRole)role).rdmLoginRequest() == null) if (((ConsumerRole)role).dictionaryDownloadMode() == DictionaryDownloadModes.FIRST_AVAILABLE && ((ConsumerRole)role).watchlistOptions().enableWatchlist()) if (((ConsumerRole)role).dictionaryDownloadMode() == DictionaryDownloadModes.FIRST_AVAILABLE && ((ConsumerRole)role).rdmDirectoryRequest() == null) ((ConsumerRole)role).watchlistOptions().enableWatchlist()) if (((ConsumerRole)role).watchlistOptions().channelOpenCallback() != null)
assertEquals(null, consumerRole._directoryRequest); assertEquals(DictionaryDownloadModes.NONE, consumerRole.dictionaryDownloadMode()); reactor.connect(rcOpts, consumerRole, errorInfo);
assertEquals(null, callbackHandler.lastChannelEvent()); ConsumerRole consumerRole = createWatchlistConsumerRole(callbackHandler); consumerRole.initDefaultRDMLoginRequest(); consumerRole.initDefaultRDMDirectoryRequest(); assertEquals(ReactorReturnCodes.SUCCESS, reactor.connect(rcOpts, consumerRole, errorInfo)); consumerRole.watchlistOptions().postAckTimeout(5000); postMsg.clear(); postMsg.msgClass(MsgClasses.POST);
&& reactorChannel.role().type() == ReactorRoleTypes.CONSUMER && _dictionaryMsg.rdmMsgType() == DictionaryMsgType.REFRESH && ((ConsumerRole)reactorRole).dictionaryDownloadMode() == DictionaryDownloadModes.FIRST_AVAILABLE) if (msg.streamId() == ((ConsumerRole)reactorRole).rdmFieldDictionaryRequest().streamId() && dictionaryRefresh != null && dictionaryRefresh.checkRefreshComplete()) ((ConsumerRole)reactorRole).receivedFieldDictionaryResp(true); encodeAndWriteDictionaryClose(((ConsumerRole)reactorRole).rdmFieldDictionaryClose(), reactorChannel, errorInfo); if (msg.streamId() == ((ConsumerRole)reactorRole).rdmEnumDictionaryRequest().streamId() && dictionaryRefresh != null && dictionaryRefresh.checkRefreshComplete()) ((ConsumerRole)reactorRole).receivedEnumDictionaryResp(true); encodeAndWriteDictionaryClose(((ConsumerRole)reactorRole).rdmEnumDictionaryClose(), reactorChannel, errorInfo); if (((ConsumerRole)reactorRole).receivedFieldDictionaryResp() && ((ConsumerRole)reactorRole).receivedEnumDictionaryResp())
assertTrue(opts.setupDefaultLoginStream() == false || consumerRole.rdmLoginRequest() != null); || consumerRole.watchlistOptions().enableWatchlist() == true || consumerRole.rdmDirectoryRequest() != null); if (consumerRole.watchlistOptions().enableWatchlist() && consumerRole.watchlistOptions().channelOpenCallback() != null && recoveringChannel == false) if (consumerRole.rdmLoginRequest() == null) if (consumerRole.rdmDirectoryRequest() == null && consumerRole.watchlistOptions().enableWatchlist() == false) consumer.testReactor().dispatch(2); else consumer.defaultSessionLoginStreamId(consumerRole.rdmLoginRequest().streamId()); provider.defaultSessionLoginStreamId(loginRequest.streamId()); if (consumerRole.rdmDirectoryRequest() == null && consumerRole.watchlistOptions().enableWatchlist() == false) if (consumerRole.watchlistOptions().enableWatchlist() == false) return; if (opts.setupDefaultDirectoryStream() == false && consumerRole.watchlistOptions().enableWatchlist() == false) return; if (!recoveringChannel || consumerRole.watchlistOptions().enableWatchlist() == false) assertEquals(DirectoryMsgType.REFRESH, directoryMsgEvent.rdmDirectoryMsg().rdmMsgType()); else
System.currentTimeMillis() >= chnlInfo.loginReissueTime) LoginRequest loginRequest = chnlInfo.consumerRole.rdmLoginRequest(); submitOptions.clear(); if (chnlInfo.reactorChannel.submit(loginRequest, submitOptions, errorInfo) != CodecReturnCodes.SUCCESS)
consumerRole.initDefaultRDMLoginRequest(); consumerRole.initDefaultRDMDirectoryRequest(); Buffer buffer = CodecFactory.createBuffer(); buffer.data(ByteBuffer.allocate(1024)); eIter.clear(); eIter.setBufferAndRWFVersion(buffer, Codec.majorVersion(), Codec.minorVersion()); consumerRole.rdmLoginRequest().encode(eIter); DecodeIterator dIter = CodecFactory.createDecodeIterator(); dIter.clear();
void role(ConsumerRole role) { _role = role; _watchlistOptions = _role.watchlistOptions(); }
&& msg.streamId() == ((ConsumerRole)reactorRole).rdmLoginRequest().streamId() && _loginMsg.rdmMsgType() == LoginMsgType.REFRESH && ((LoginRefresh)_loginMsg).state().streamState() == StreamStates.OPEN && ((LoginRefresh)_loginMsg).state().dataState() == DataStates.OK) DirectoryRequest directoryRequest = ((ConsumerRole)reactorRole).rdmDirectoryRequest(); if (directoryRequest != null)
callback = ((ConsumerRole)reactorChannel.role()).dictionaryMsgCallback(); break; case ReactorRoleTypes.PROVIDER:
callback = ((ConsumerRole)reactorChannel.role()).directoryMsgCallback(); break; case ReactorRoleTypes.PROVIDER:
callback = ((ConsumerRole)reactorChannel.role()).loginMsgCallback(); break; case ReactorRoleTypes.PROVIDER: