int setDirectoryRequest(RequestMsg rsslRequestMsg) { _rsslDirectoryReq.clear(); _rsslDirectoryReq.rdmMsgType(DirectoryMsgType.REQUEST); if (rsslRequestMsg.msgClass() != MsgClasses.REQUEST) return CodecReturnCodes.FAILURE; if (rsslRequestMsg.checkStreaming()) _rsslDirectoryReq.applyStreaming(); MsgKey msgKey = rsslRequestMsg.msgKey(); if (msgKey == null || !msgKey.checkHasFilter()) return CodecReturnCodes.FAILURE; if (msgKey.checkHasFilter()) _rsslDirectoryReq.filter(rsslRequestMsg.msgKey().filter()); _rsslDirectoryReq.streamId(rsslRequestMsg.streamId()); if (msgKey.checkHasServiceId()) { _rsslDirectoryReq.applyHasServiceId(); _rsslDirectoryReq.serviceId(msgKey.serviceId()); } return CodecReturnCodes.SUCCESS; }
@Test public void directoryRequestCopyTests() { DirectoryRequest reqMsg1 = (DirectoryRequest)DirectoryMsgFactory.createMsg(); reqMsg1.rdmMsgType(DirectoryMsgType.REQUEST); DirectoryRequest reqMsg2 = (DirectoryRequest)DirectoryMsgFactory.createMsg(); reqMsg2.rdmMsgType(DirectoryMsgType.REQUEST); System.out.println("DirectoryRequest copy tests..."); /* Parameter setup */ int streamId = -5; int serviceId = 1; int filter = 1; reqMsg1.clear(); reqMsg1.applyStreaming(); reqMsg1.rdmMsgType(DirectoryMsgType.REQUEST); reqMsg1.streamId(streamId); reqMsg1.filter(filter); reqMsg1.applyHasServiceId(); reqMsg1.serviceId(serviceId); int ret = reqMsg1.copy(reqMsg2); assertEquals(CodecReturnCodes.SUCCESS, ret); assertEquals(DirectoryMsgType.REQUEST, reqMsg2.rdmMsgType()); assertEquals(reqMsg1.flags(), reqMsg2.flags()); assertEquals(reqMsg1.checkStreaming(), reqMsg2.checkStreaming()); assertEquals(filter, reqMsg2.filter()); assertEquals(streamId, reqMsg2.streamId()); assertEquals(serviceId, reqMsg2.serviceId()); System.out.println("Done."); }
directoryRequest.clear(); directoryRequest.streamId(SRCDIR_STREAM_ID); directoryRequest.filter(FILTER_TO_REQUEST); directoryRequest.applyStreaming(); encIter.clear(); encIter.setBufferAndRWFVersion(msgBuf, channel.majorVersion(), channel.minorVersion()); int ret = directoryRequest.encode(encIter); if (ret != CodecReturnCodes.SUCCESS)
/** * Initializes the RDM DirectoryRequest with default information. If the * rdmDirectoryRequest has already been defined (due to a previous call to * {@link #rdmDirectoryRequest(DirectoryRequest)}) the rdmDirectoryRequest * object will be reused. */ public void initDefaultRDMDirectoryRequest() { int streamId; if (_directoryRequest == null) { streamId = DIRECTORY_STREAM_ID; _directoryRequest = (DirectoryRequest)DirectoryMsgFactory.createMsg(); } else { streamId = (_directoryRequest.streamId() == 0 ? DIRECTORY_STREAM_ID : _directoryRequest.streamId()); _directoryRequest.clear(); } _directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); _directoryRequest.streamId(streamId); _directoryRequest.filter(FILTER_TO_REQUEST); _directoryRequest.applyStreaming(); return; }
void copyDirectoryRequest(DirectoryRequest directoryRequest) { if (directoryRequest != null) { if (_directoryRequest == null) { _directoryRequest = (DirectoryRequest)DirectoryMsgFactory.createMsg(); _directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); } directoryRequest.copy(_directoryRequest); } } }
_ommBaseImpl.activeConfig().rsslDirectoryRequest.clear(); _ommBaseImpl.activeConfig().rsslDirectoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); _ommBaseImpl.activeConfig().rsslDirectoryRequest.streamId(2); _ommBaseImpl.activeConfig().rsslDirectoryRequest.applyStreaming(); _ommBaseImpl.activeConfig().rsslDirectoryRequest.filter( com.thomsonreuters.upa.rdm.Directory.ServiceFilterFlags.INFO | com.thomsonreuters.upa.rdm.Directory.ServiceFilterFlags.STATE | _ommBaseImpl.activeConfig().rsslDirectoryRequest.streamId(2); long filter = _ommBaseImpl.activeConfig().rsslDirectoryRequest.filter(); if (filter == 0) _ommBaseImpl.activeConfig().rsslDirectoryRequest.filter( com.thomsonreuters.upa.rdm.Directory.ServiceFilterFlags.INFO | com.thomsonreuters.upa.rdm.Directory.ServiceFilterFlags.STATE | if (!_ommBaseImpl.activeConfig().rsslDirectoryRequest.checkStreaming()) Severity.WARNING).toString()); _ommBaseImpl.activeConfig().rsslDirectoryRequest.applyStreaming(); int filter = (int)_ommBaseImpl.activeConfig().rsslDirectoryRequest.filter(); if (_ommBaseImpl.activeConfig().rsslDirectoryRequest.checkHasServiceId()) temp.append(OmmLoggerClient.CR).append("requesting serviceId ").append(_ommBaseImpl.activeConfig().rsslDirectoryRequest.serviceId()); else temp.append(OmmLoggerClient.CR).append("requesting all services");
encRDMMsg.rdmMsgType(DirectoryMsgType.REQUEST); DirectoryRequest decRDMMsg = (DirectoryRequest)DirectoryMsgFactory.createMsg(); decRDMMsg.rdmMsgType(DirectoryMsgType.REQUEST); encRDMMsg.clear(); encRDMMsg.rdmMsgType(DirectoryMsgType.REQUEST); encRDMMsg.flags(flags); encRDMMsg.streamId(streamId); encRDMMsg.filter(filter); if (encRDMMsg.checkHasServiceId()) encRDMMsg.serviceId(serviceId); int ret = encRDMMsg.encode(encIter); assertEquals(CodecReturnCodes.SUCCESS, ret); ret = msg.decode(dIter); assertEquals(CodecReturnCodes.SUCCESS, ret); ret = decRDMMsg.decode(dIter, msg); assertEquals(CodecReturnCodes.SUCCESS, ret); assertEquals(DirectoryMsgType.REQUEST, decRDMMsg.rdmMsgType()); assertEquals(flags, decRDMMsg.flags()); assertEquals(filter, decRDMMsg.filter()); assertEquals(streamId, decRDMMsg.streamId()); if (decRDMMsg.checkHasServiceId()) assertEquals(serviceId, decRDMMsg.serviceId());
directoryRequest.filter(), true, directoryRequest.checkHasServiceId(), directoryRequest.serviceId()); _directoryRefresh.streamId(directoryRequest.streamId()); _directoryRefresh.applySolicited();
_directoryRefresh.streamId(srcDirReqInfo.streamId()); _directoryRefresh.filter(srcDirReqInfo.filter()); if ((srcDirReqInfo.filter() & Directory.ServiceFilterFlags.INFO) != 0) if ((srcDirReqInfo.filter() & Directory.ServiceFilterFlags.STATE) != 0) if ((srcDirReqInfo.filter() & Directory.ServiceFilterFlags.LOAD) != 0) if ((srcDirReqInfo.filter() & Directory.ServiceFilterFlags.LINK) != 0)
private void verifyDirectoryRequest(DirectoryRequest directoryRequest, int streamId) { assertEquals(DirectoryMsgType.REQUEST, directoryRequest.rdmMsgType()); assertEquals(true, directoryRequest.checkStreaming()); assertEquals(ConsumerRole.FILTER_TO_REQUEST, directoryRequest.filter()); assertEquals(streamId, directoryRequest.streamId()); }
private void closeStream(int streamId) { // find original request information associated with chnl for (DirectoryRequestInfo sourceDirectoryReqInfo : _directoryRequestInfoList) { if (sourceDirectoryReqInfo.directoryRequest.streamId() == streamId && sourceDirectoryReqInfo.isInUse) { // clear original request information System.out.println("Closing source directory stream id '" + _directoryRequest.streamId() + "' with service name: " + _serviceName); sourceDirectoryReqInfo.clear(); break; } } }
_serviceCache = new WlServiceCache(_watchlist); _directoryRequest = (DirectoryRequest)DirectoryMsgFactory.createMsg(); _directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); _directoryRequest.filter(ALL_FILTERS); _directoryRequest.applyStreaming(); _directoryRefresh = (DirectoryRefresh)DirectoryMsgFactory.createMsg(); _directoryRefresh.rdmMsgType(DirectoryMsgType.REFRESH);
directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); directoryRequest.decode(dIter, msg); break; case MsgClasses.REFRESH: && msg.streamId() == ((ConsumerRole)reactorRole).rdmDirectoryRequest().streamId() && reactorChannel.role().type() == ReactorRoleTypes.CONSUMER && _directoryMsg.rdmMsgType() == DirectoryMsgType.REFRESH)
public DirectoryRequestInfo() { directoryRequest = (DirectoryRequest) DirectoryMsgFactory.createMsg(); directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); }
directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); directoryRequest.streamId(22); consumerRole.rdmDirectoryRequest(directoryRequest); consumerRole.initDefaultRDMDirectoryRequest(); verifyDirectoryRequest(consumerRole.rdmDirectoryRequest(), 22); directoryRequest.streamId(0); consumerRole.rdmDirectoryRequest(directoryRequest); consumerRole.initDefaultRDMDirectoryRequest();
public void clear() { chnl = null; isInUse = false; directoryRequest.clear(); }
@Override public int rdmDirectoryMsgCallback(RDMDirectoryMsgEvent event) { ReactorChannel reactorChannel = event.reactorChannel(); ProviderSession provSession = (ProviderSession)reactorChannel.userSpecObj(); DirectoryMsg directoryMsg = event.rdmDirectoryMsg(); switch (directoryMsg.rdmMsgType()) { case REQUEST: DirectoryRequest directoryRequest = (DirectoryRequest)directoryMsg; directoryRequest.copy(_directoryProvider.directoryRequest()); System.out.println("Received Source Directory Request"); // send source directory response _directoryProvider.sendRefreshReactor(provSession.clientChannelInfo(), event.errorInfo().error()); break; case CLOSE: System.out.println("Received Directory Close for streamId " + directoryMsg.streamId()); break; default: event.errorInfo().error().text("Received unhandled Source Directory msg type: " + event.msg().msgClass()); event.errorInfo().error().errorId(PerfToolsReturnCodes.FAILURE); } return ReactorCallbackReturnCodes.SUCCESS; }