DictionaryHandler(OmmServerBaseImpl ommServerBaseImpl) { _ommServerBaseImpl = ommServerBaseImpl; _dictionaryRefresh.rdmMsgType(DictionaryMsgType.REFRESH); _dictionaryStatus.rdmMsgType(DictionaryMsgType.STATUS); }
_dictionaryStatus.clear(); _dictionaryStatus.streamId(streamId); _dictionaryStatus.applyHasState(); _dictionaryStatus.state().dataState(DataStates.SUSPECT); _dictionaryStatus.state().code(StateCodes.NOT_FOUND); _dictionaryStatus.state().streamState(StreamStates.CLOSED); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - dictionary name unknown"); break; case MAX_DICTIONARY_REQUESTS_REACHED: _dictionaryStatus.state().code(StateCodes.TOO_MANY_ITEMS); _dictionaryStatus.state().streamState(StreamStates.CLOSED_RECOVER); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - max request count reached"); break; default: ret = _dictionaryStatus.encode(_encodeIter); if (ret != CodecReturnCodes.SUCCESS)
public int copy(DictionaryStatus destStatusMsg) { assert (destStatusMsg != null) : "destStatusMsg must be non-null"; destStatusMsg.streamId(streamId()); if (checkClearCache()) { destStatusMsg.applyClearCache(); } if (checkHasState()) { destStatusMsg.state().streamState(this.state.streamState()); destStatusMsg.state().dataState(this.state.dataState()); destStatusMsg.state().code(this.state.code()); if (this.state.text().length() > 0) { Buffer stateText = CodecFactory.createBuffer(); ByteBuffer byteBuffer = ByteBuffer.allocate(this.state.text().length()); this.state.text().copy(byteBuffer); stateText.data(byteBuffer); destStatusMsg.state().text(stateText); } int flags = destStatusMsg.flags(); flags |= DictionaryStatusFlags.HAS_STATE; destStatusMsg.flags(flags); } return CodecReturnCodes.SUCCESS; }
decRDMMsg.rdmMsgType(DictionaryMsgType.STATUS); encRDMMsg.rdmMsgType(DictionaryMsgType.STATUS); encRDMMsg.clear(); encRDMMsg.rdmMsgType(DictionaryMsgType.STATUS); Buffer membuf = CodecFactory.createBuffer(); membuf.data(ByteBuffer.allocate(1024)); encRDMMsg.streamId(streamId); encRDMMsg.applyHasState(); encRDMMsg.state().code(state.code()); encRDMMsg.state().dataState(state.dataState()); encRDMMsg.state().text().data("state"); encRDMMsg.state().streamState(state.streamState()); encRDMMsg.applyClearCache(); 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(streamId, decRDMMsg.streamId()); assertEquals(decRDMMsg.flags(), encRDMMsg.flags()); assertEquals(encRDMMsg.checkClearCache(), decRDMMsg.checkClearCache()); assertTrue(decRDMMsg.checkHasState());
statusRDMMsg1.rdmMsgType(DictionaryMsgType.STATUS); DictionaryStatus statusRDMMsg2 = (DictionaryStatus)DictionaryMsgFactory.createMsg(); statusRDMMsg2.rdmMsgType(DictionaryMsgType.STATUS); state.streamState(StreamStates.OPEN); statusRDMMsg1.clear(); statusRDMMsg1.streamId(streamId); statusRDMMsg1.applyHasState(); statusRDMMsg1.applyHasState(); statusRDMMsg1.state().code(state.code()); statusRDMMsg1.state().dataState(state.dataState()); statusRDMMsg1.state().text().data("state"); statusRDMMsg1.state().streamState(state.streamState()); statusRDMMsg1.applyClearCache(); int ret = statusRDMMsg1.copy(statusRDMMsg2); assertEquals(CodecReturnCodes.SUCCESS, ret); assertEquals(streamId, statusRDMMsg2.streamId()); assertEquals(statusRDMMsg1.flags(), statusRDMMsg2.flags()); assertEquals(statusRDMMsg1.checkClearCache(), statusRDMMsg2.checkClearCache()); State refState1 = statusRDMMsg1.state(); State refState2 = statusRDMMsg2.state(); assertNotNull(refState2); assertEquals(refState1.code(), refState2.code());
@Test public void dictionaryStatusToStringTests() { DictionaryStatus statusRDMMsg1 = (DictionaryStatus)DictionaryMsgFactory.createMsg(); statusRDMMsg1.rdmMsgType(DictionaryMsgType.STATUS); int streamId = -5; State state = CodecFactory.createState(); Buffer buffer = CodecFactory.createBuffer(); buffer.data("state"); state.text(buffer); state.code(StateCodes.FAILOVER_COMPLETED); state.dataState(DataStates.SUSPECT); state.streamState(StreamStates.OPEN); statusRDMMsg1.streamId(streamId); statusRDMMsg1.applyHasState(); statusRDMMsg1.state().code(state.code()); statusRDMMsg1.state().dataState(state.dataState()); statusRDMMsg1.state().text().data("state"); statusRDMMsg1.state().streamState(state.streamState()); System.out.println("DictionaryStatus toString tests."); statusRDMMsg1.toString(); System.out.println("Done."); }
DictionaryStatus dictionaryStatus = (DictionaryStatus)event.rdmDictionaryMsg(); if (dictionaryStatus.streamId() == chnlInfo.fieldDictionaryStreamId) else if (dictionaryStatus.streamId() == chnlInfo.enumDictionaryStreamId) if (dictionaryStatus.checkHasState()) System.out.println(dictionaryStatus.state());
case MsgClasses.STATUS: DictionaryStatus dictionaryStatus = (DictionaryStatus)_dictionaryMsg; dictionaryStatus.rdmMsgType(DictionaryMsgType.STATUS); dictionaryStatus.decode(dIter, msg); break; case MsgClasses.CLOSE:
_dictionaryStatus.clear(); _dictionaryStatus.streamId(streamId); _dictionaryStatus.applyHasState(); _dictionaryStatus.state().dataState(DataStates.SUSPECT); _dictionaryStatus.state().code(StateCodes.NOT_FOUND); _dictionaryStatus.state().streamState(StreamStates.CLOSED); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - dictionary name unknown"); break; case MAX_DICTIONARY_REQUESTS_REACHED: _dictionaryStatus.state().code(StateCodes.TOO_MANY_ITEMS); _dictionaryStatus.state().streamState(StreamStates.CLOSED_RECOVER); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - max request count reached"); break; case DICTIONARY_RDM_DECODER_FAILED: _dictionaryStatus.state().code(StateCodes.USAGE_ERROR); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - decoding failure: " + errorInfo.error().text()); break; default: ret = _dictionaryStatus.encode(_encodeIter); if (ret != CodecReturnCodes.SUCCESS)
DictionaryHandler() { _dictionary = CodecFactory.createDataDictionary(); _dictionaryRequestInfoList = new DictionaryRequestInfoList(); _dictionaryRefresh.rdmMsgType(DictionaryMsgType.REFRESH); _dictionaryStatus.rdmMsgType(DictionaryMsgType.STATUS); _dictionaryRequest.rdmMsgType(DictionaryMsgType.REQUEST); }
_dictionaryStatus.clear(); _dictionaryStatus.streamId(streamId); _dictionaryStatus.applyHasState(); _dictionaryStatus.state().streamState(StreamStates.CLOSED); _dictionaryStatus.state().dataState(DataStates.SUSPECT); _dictionaryStatus.state().text().data("Dictionary stream closed"); ret = _dictionaryStatus.encode(_encodeIter); if (ret != CodecReturnCodes.SUCCESS)
/** * Instantiates a new provider dictionary handler. * * @param providerSesssion the provider sesssion */ public ProviderDictionaryHandler(ProviderSession providerSesssion) { _dictionary = CodecFactory.createDataDictionary(); _providerSession = providerSesssion; _dictionaryRequestInfoList = new DictionaryRequestInfoList(); _dictionaryRefresh.rdmMsgType(DictionaryMsgType.REFRESH); _dictionaryStatus.rdmMsgType(DictionaryMsgType.STATUS); _dictionaryRequest.rdmMsgType(DictionaryMsgType.REQUEST); states = new State[2]; states[0] = CodecFactory.createState(); states[1] = CodecFactory.createState(); }
_dictionaryStatus.clear(); _dictionaryStatus.streamId(streamId); _dictionaryStatus.applyHasState(); _dictionaryStatus.state().streamState(StreamStates.CLOSED); _dictionaryStatus.state().dataState(DataStates.SUSPECT); _dictionaryStatus.state().text().data("Dictionary stream closed"); ret = _dictionaryStatus.encode(_encodeIter); if (ret != CodecReturnCodes.SUCCESS)
/** * Instantiates a new dictionary provider. */ public DictionaryProvider() { _encodeIter = CodecFactory.createEncodeIterator(); _dictionary = CodecFactory.createDataDictionary(); _dictionaryRefresh = (DictionaryRefresh)DictionaryMsgFactory.createMsg(); _dictionaryRefresh.rdmMsgType(DictionaryMsgType.REFRESH); _dictionaryRequest = (DictionaryRequest)DictionaryMsgFactory.createMsg(); _dictionaryRequest.rdmMsgType(DictionaryMsgType.REQUEST); _dictionaryStatus = (DictionaryStatus)DictionaryMsgFactory.createMsg(); _dictionaryStatus.rdmMsgType(DictionaryMsgType.STATUS); _chnlInfo = TransportFactory.createChannelInfo(); _errorInfo = ReactorFactory.createReactorErrorInfo(); _reactorSubmitOptions = ReactorFactory.createReactorSubmitOptions(); _reactorSubmitOptions.clear(); _reactorSubmitOptions.writeArgs().priority(WritePriorities.HIGH); _reactorChnlInfo = ReactorFactory.createReactorChannelInfo(); }
private int encodeDictionaryRequestReject(Channel chnl, int streamId, DictionaryRejectReason reason, TransportBuffer msgBuf, Error error) _dictionaryStatus.clear(); _dictionaryStatus.streamId(streamId); _dictionaryStatus.applyHasState(); _dictionaryStatus.state().dataState(DataStates.SUSPECT); _dictionaryStatus.state().code(StateCodes.NOT_FOUND); _dictionaryStatus.state().streamState(StreamStates.CLOSED); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - dictionary name unknown"); break; case MAX_DICTIONARY_REQUESTS_REACHED: _dictionaryStatus.state().code(StateCodes.TOO_MANY_ITEMS); _dictionaryStatus.state().streamState(StreamStates.CLOSED_RECOVER); _dictionaryStatus.state().text().data("Dictionary request rejected for stream id " + streamId + " - max request count reached"); break; default: return PerfToolsReturnCodes.FAILURE; ret = _dictionaryStatus.encode(_encodeIter);
_dictionaryStatus.clear(); _dictionaryStatus.streamId(dictionaryRequest.streamId()); _dictionaryStatus.applyHasState(); _dictionaryStatus.state().dataState(DataStates.SUSPECT); _dictionaryStatus.state().code(StateCodes.ERROR); _dictionaryStatus.state().streamState(StreamStates.CLOSED_RECOVER); _dictionaryStatus.state().text().data("Dictionary message rejected - invalid dictionary domain message."); break; case DICTIONARY_NOT_LOADED: _dictionaryStatus.state().text().data("Dictionary request message rejected - dictionary is not loaded in provider."); break; case DICTIONARY_ENCODING_FAILED: _dictionaryStatus.state().text().data("Dictionary request message rejected - failed to encode dictionary information."); break; case USER_IS_NOT_LOGGED_IN: _dictionaryStatus.state().text().data("Dictionary message rejected - there is no logged in user for this session."); break; case DICTIONARY_UNHANDLED_MESSAGE: _dictionaryStatus.state().text().data("Dictionary message rejected - unhandled dictionary message type."); break; case DICTIONARY_NAME_NOT_FOUND: text.append("Dictionary request message rejected - the reqesting dictionary name '") .append(((DictionaryRequest)dictionaryRequest).dictionaryName()).append("' not found."); _dictionaryStatus.state().text().data(text.toString()); .append(((DictionaryRequest)dictionaryRequest).serviceId())