encRDMMsg.rdmMsgType(DirectoryMsgType.UPDATE); DirectoryUpdate decRDMMsg = (DirectoryUpdate)DirectoryMsgFactory.createMsg(); decRDMMsg.rdmMsgType(DirectoryMsgType.UPDATE); encRDMMsg.clear(); decRDMMsg.clear(); Buffer membuf = CodecFactory.createBuffer(); membuf.data(ByteBuffer.allocate(1024)); encRDMMsg.flags(flags); encRDMMsg.streamId(streamId); if (encRDMMsg.checkHasServiceId()) encRDMMsg.serviceId(serviceId); if (encRDMMsg.checkHasFilter()) encRDMMsg.filter(filter); if (encRDMMsg.checkHasSequenceNumber()) encRDMMsg.sequenceNumber(seqNum); encRDMMsg.serviceList().add(rdmService); encIter.setBufferAndRWFVersion(membuf, Codec.majorVersion(), Codec.minorVersion()); int ret = encRDMMsg.encode(encIter); assertEquals(CodecReturnCodes.SUCCESS, ret); ret = msg.decode(dIter); assertEquals(CodecReturnCodes.SUCCESS, ret); ret = decRDMMsg.decode(dIter, msg);
fanoutDirectoryUpdate.clear(); fanoutDirectoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); long filter = DirectoryServiceStore.encodeDirectoryMsg(directoryUpdate.serviceList() , fanoutDirectoryUpdate.serviceList(), itemInfo.msgKey().filter(), false, itemInfo.msgKey().checkHasServiceId(), itemInfo.msgKey().serviceId()); fanoutDirectoryUpdate.streamId((int)itemInfo.streamId().value()); if ( directoryUpdate.checkHasFilter() && ( filter != 0 ) ) fanoutDirectoryUpdate.applyHasFilter(); fanoutDirectoryUpdate.filter(filter); if ( directoryUpdate.checkHasSequenceNumber()) fanoutDirectoryUpdate.applyHasSequenceNumber(); fanoutDirectoryUpdate.sequenceNumber(directoryUpdate.sequenceNumber()); if ( directoryUpdate.checkHasServiceId()) fanoutDirectoryUpdate.applyHasServiceId(); fanoutDirectoryUpdate.serviceId(directoryUpdate.serviceId());
destUpdateMsg.streamId(streamId()); destUpdateMsg.applyHasFilter(); destUpdateMsg.filter(filter()); destUpdateMsg.applyHasServiceId(); destUpdateMsg.serviceId(serviceId()); destUpdateMsg.applyHasSequenceNumber(); destUpdateMsg.sequenceNumber(sequenceNumber()); if(ret != CodecReturnCodes.SUCCESS) return ret; destUpdateMsg.serviceList().add(destRDMService);
_directoryUpdate.clear(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); ret = _directoryUpdate.decode(dIter, msg); List<Service> serviceList = _directoryUpdate.serviceList(); if (serviceList != null) _directoryUpdateCopy.clear(); _directoryUpdate.copy(_directoryUpdateCopy); for (int j = 0; j < _directoryUpdateCopy.serviceList().size(); ++j) _directoryUpdateCopy.serviceList().get(j).serviceId() == wlRequest.requestMsg().msgKey().serviceId()) if (_directoryUpdateCopy.serviceList().get(j).action() == MapEntryActions.DELETE || _directoryUpdateCopy.serviceList().get(j).action() == MapEntryActions.ADD) setFilterFlagsUpdate(wlRequest.requestMsg().msgKey().filter(), _directoryUpdateCopy.serviceList().get(j), _directoryUpdate.serviceList().get(j)); continue; if (setFilterFlagsUpdate(wlRequest.requestMsg().msgKey().filter(), _directoryUpdateCopy.serviceList().get(j), _directoryUpdate.serviceList().get(j)) == 0) _directoryUpdateCopy.serviceList().remove(j--); _directoryUpdateCopy.serviceList().remove(j--); if (_directoryUpdateCopy.serviceList().size() > 0) _directoryUpdateCopy.streamId(wlRequest.requestMsg().streamId());
rdmDirUpdateMsg1.rdmMsgType(DirectoryMsgType.UPDATE); DirectoryUpdate rdmDirUpdateMsg2 = (DirectoryUpdate)DirectoryMsgFactory.createMsg(); rdmDirUpdateMsg2.rdmMsgType(DirectoryMsgType.UPDATE); rdmDirUpdateMsg1.clear(); rdmDirUpdateMsg2.clear(); rdmDirUpdateMsg1.flags(flags); rdmDirUpdateMsg1.streamId(streamId); if (rdmDirUpdateMsg1.checkHasServiceId()) rdmDirUpdateMsg1.serviceId(serviceId); if (rdmDirUpdateMsg1.checkHasFilter()) rdmDirUpdateMsg1.filter(filter); if (rdmDirUpdateMsg1.checkHasSequenceNumber()) rdmDirUpdateMsg1.sequenceNumber(seqNum); buildRDMService(rdmService, serviceFlags, serviceAddorDeleteAction, FilterEntryActions.SET); rdmDirUpdateMsg1.serviceList().add(rdmService); int ret = rdmDirUpdateMsg1.copy(rdmDirUpdateMsg2); assertEquals(CodecReturnCodes.SUCCESS, ret); assertEquals(streamId, rdmDirUpdateMsg2.streamId()); assertEquals(flags, rdmDirUpdateMsg2.flags()); if (rdmDirUpdateMsg1.checkHasServiceId()) assertEquals(serviceId, rdmDirUpdateMsg2.serviceId());
_directoryUpdate.clear(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); _directoryUpdate.serviceList().addAll(newDirectoryRefresh.serviceList()); _directoryUpdate.applyHasFilter(); _directoryUpdate.filter(newDirectoryRefresh.filter()); _directoryUpdate.streamId(newDirectoryRefresh.streamId()); _directoryUpdate.applyHasServiceId(); _directoryUpdate.serviceId(newDirectoryRefresh.serviceId()); _directoryUpdate.flags(newDirectoryRefresh.flags());
_directoryUpdate.clear(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); _directoryUpdate.streamId(usrRequest.requestMsg().streamId()); _directoryUpdate.serviceList().add(service); for (int i = 0; i < _directoryUpdate.serviceList().size(); ++i) _servicePool.add(_directoryUpdate.serviceList().get(i));
processDirectoryPayload(((DirectoryUpdate)directoryMsg).serviceList(), rsslReactorChannel); break;
ret = directoryUpdate.decode(dIter, msg); if (ret != CodecReturnCodes.SUCCESS) processServiceUpdate(directoryUpdate.serviceList(), error);
case MsgClasses.UPDATE: DirectoryUpdate directoryUpdate = (DirectoryUpdate)_directoryMsg; directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); directoryUpdate.decode(dIter, msg); break; default:
_directoryStatus.state().code(StateCodes.NONE); _directoryStatus.state().text(_tempBuffer); _directoryUpdate.clear(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); _directoryUpdateCopy = (DirectoryUpdate)DirectoryMsgFactory.createMsg(); _directoryUpdateCopy.rdmMsgType(DirectoryMsgType.UPDATE); _submitOptions.clear(); _tempMsg.clear();
/** * Instantiates a new directory handler. */ public DirectoryHandler() { serviceName = CodecFactory.createBuffer(); service = DirectoryMsgFactory.createService(); state = CodecFactory.createState(); directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); directoryRefresh.rdmMsgType(DirectoryMsgType.REFRESH); directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); directoryClose.rdmMsgType(DirectoryMsgType.CLOSE); directoryStatus.rdmMsgType(DirectoryMsgType.STATUS); }
_directoryUpdate.clear(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); _directoryUpdate.streamId(usrRequest.requestMsg().streamId()); _directoryUpdate.serviceList().add(service); _directoryUpdate.clear(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); for (int i = 0; i < _directoryUpdate.serviceList().size(); ++i) _servicePool.add(_directoryUpdate.serviceList().get(i));
System.out.println(directoryUpdate.toString()); for (Service rdmService : directoryUpdate.serviceList())
ret = directoryUpdate.decode(dIter, msg); processServiceUpdate(directoryUpdate.serviceList(), error); if (service.action() == MapEntryActions.DELETE)
/** * Instantiates a new directory handler. */ public DirectoryHandler() { serviceName = CodecFactory.createBuffer(); service = DirectoryMsgFactory.createService(); state = CodecFactory.createState(); directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); directoryRefresh.rdmMsgType(DirectoryMsgType.REFRESH); directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); directoryClose.rdmMsgType(DirectoryMsgType.CLOSE); directoryStatus.rdmMsgType(DirectoryMsgType.STATUS); }
serviceList = directoryUpdate.serviceList();
_directoryStatus.state().text(_tempBuffer); _directoryUpdate = (DirectoryUpdate)DirectoryMsgFactory.createMsg(); _directoryUpdate.rdmMsgType(DirectoryMsgType.UPDATE); _directoryUpdateCopy = (DirectoryUpdate)DirectoryMsgFactory.createMsg(); _directoryUpdateCopy.rdmMsgType(DirectoryMsgType.UPDATE); _statusMsg = (StatusMsg)CodecFactory.createMsg(); _statusMsg.msgClass(MsgClasses.STATUS);
System.out.println("Stream: " + event.rdmDirectoryMsg().streamId() + " Msg Class: " + MsgClasses.toString(MsgClasses.UPDATE)); serviceList = directoryUpdate.serviceList();
System.out.println("Received Source Directory Update"); System.out.println(directoryUpdate.toString()); for (Service service : directoryUpdate.serviceList())