void copy(ConsumerWatchlistOptions watchlistOptions) { _enableWatchlist = watchlistOptions.enableWatchlist(); _channelOpenCallback = watchlistOptions.channelOpenCallback(); _itemCountHint = watchlistOptions.itemCountHint(); _obeyOpenWindow = watchlistOptions.obeyOpenWindow(); _maxOutstandingPosts = watchlistOptions.maxOutstandingPosts(); _postAckTimeout = watchlistOptions.postAckTimeout(); _requestTimeout = watchlistOptions.requestTimeout(); } }
boolean isWindowOpen(WlService wlService) { boolean ret = true; if (_watchlist.watchlistOptions().obeyOpenWindow() && wlService.rdmService().checkHasLoad() && wlService.rdmService().load().checkHasOpenWindow()) { long openWindow = wlService.rdmService().load().openWindow(); if (openWindow == 0 || // open window of 0 means window is not open wlService.numOutstandingRequests() == openWindow) { ret = false; } } return ret; }
ConsumerRole createWatchlistConsumerRole(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); consumerRole.watchlistOptions().enableWatchlist(true); consumerRole.watchlistOptions().obeyOpenWindow(true); consumerRole.watchlistOptions().channelOpenCallback(callbackHandler); return consumerRole; }
chnlInfo.consumerRole.watchlistOptions().itemCountHint(4); chnlInfo.consumerRole.watchlistOptions().maxOutstandingPosts(5); chnlInfo.consumerRole.watchlistOptions().obeyOpenWindow(true); chnlInfo.consumerRole.watchlistOptions().channelOpenCallback(this);
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(); }
assertTrue(consumerRole.watchlistOptions().itemCountHint() == reactorChnlConsumerRole.watchlistOptions().itemCountHint()); assertTrue(consumerRole.watchlistOptions().maxOutstandingPosts() == reactorChnlConsumerRole.watchlistOptions().maxOutstandingPosts()); assertTrue(consumerRole.watchlistOptions().obeyOpenWindow() == reactorChnlConsumerRole.watchlistOptions().obeyOpenWindow()); assertTrue(consumerRole.watchlistOptions().postAckTimeout() == reactorChnlConsumerRole.watchlistOptions().postAckTimeout()); assertTrue(consumerRole.watchlistOptions().requestTimeout() == reactorChnlConsumerRole.watchlistOptions().requestTimeout());
consumerRole.watchlistOptions().itemCountHint(4); consumerRole.watchlistOptions().maxOutstandingPosts(5); consumerRole.watchlistOptions().obeyOpenWindow(true); consumerRole.watchlistOptions().channelOpenCallback(consumerCallbackHandler); assertEquals(ReactorCallbackReturnCodes.SUCCESS, consumerRole.watchlistOptions().channelOpenCallback().reactorChannelEventCallback(reactorChannelEvent)); assertEquals(4, consumerRole.watchlistOptions().itemCountHint()); assertEquals(5, consumerRole.watchlistOptions().maxOutstandingPosts()); assertTrue(consumerRole.watchlistOptions().obeyOpenWindow());