/** * Processes a directory request. This consists of decoding directory * request message and encoding/sending directory refresh. * */ int processMsg(ChannelHandler channelHandler, ClientChannelInfo clientChannelInfo, Msg msg, DecodeIterator dIter, Error error) { switch (msg.msgClass()) { case MsgClasses.REQUEST: System.out.println("Received Source Directory Request"); int ret = _directoryRequest.decode(dIter, msg); if (ret != CodecReturnCodes.SUCCESS) { error.text("DirectoryRequest.decode?() failed with return code: " + CodecReturnCodes.toString(ret)); error.errorId(ret); return PerfToolsReturnCodes.FAILURE; } // send source directory response return sendRefresh(channelHandler, clientChannelInfo, error); case MsgClasses.CLOSE: System.out.println("Received Directory Close for streamId " + msg.streamId()); break; default: error.text("Received unhandled Source Directory msg type: " + msg.msgClass()); error.errorId(PerfToolsReturnCodes.FAILURE); return PerfToolsReturnCodes.FAILURE; } return PerfToolsReturnCodes.SUCCESS; }
if (_directoryRequest.decode(dIter, msg) != CodecReturnCodes.SUCCESS)
DirectoryRequest directoryRequest = (DirectoryRequest)_directoryMsg; directoryRequest.rdmMsgType(DirectoryMsgType.REQUEST); directoryRequest.decode(dIter, msg); break; case MsgClasses.REFRESH:
ret = msg.decode(dIter); assertEquals(CodecReturnCodes.SUCCESS, ret); ret = decRDMMsg.decode(dIter, msg); assertEquals(CodecReturnCodes.SUCCESS, ret);