int getMaxFragmentSize(TunnelStream tunnelStream) { return tunnelStream.classOfService().common().maxFragmentSize(); }
tmpDecodeIter.setBufferAndRWFVersion(tunnelStreamBuffer, _tunnelSubstream._tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelSubstream._tunnelStream.classOfService().common().protocolMinorVersion()); if (tmpDecodeIter.extractStreamId() != _tunnelSubstream._streamId) tmpEncodeIter.setBufferAndRWFVersion(tunnelStreamBuffer, _tunnelSubstream._tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelSubstream._tunnelStream.classOfService().common().protocolMinorVersion()); if ((ret = tmpEncodeIter.replaceStreamId(_tunnelSubstream._streamId)) != CodecReturnCodes.SUCCESS)
_decIter.setBufferAndRWFVersion(tunnelBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); _genericMsg.decode(_decIter); _queueData.decode(_decIter, _genericMsg); _encIter.setBufferAndRWFVersion(tunnelWriteBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); _queueAck.encode(_encIter); _decIter.clear(); _decIter.setBufferAndRWFVersion(tunnelWriteBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); _genericMsg.clear(); _genericMsg.decode(_decIter);
_encIter.setBufferAndRWFVersion(tunnelBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); if ((ret = _encIter.replaceSeqNum(seqNum)) != CodecReturnCodes.SUCCESS)
private int loadMsg(int entryPosition, boolean isTransmitted, Msg tmpMsg, EncodeIterator tmpEncodeIter, DecodeIterator tmpDecodeIter, Error error) { int length; int ret; TunnelStreamPersistenceBuffer persistBuffer = new TunnelStreamPersistenceBuffer(); length = _fileByteBuf.getInt(entryPosition + MsgHeader.MSG_LENGTH_POS); persistBuffer.length(length); persistBuffer.filePosition(entryPosition); persistBuffer.seqNum(_fileByteBuf.getInt(entryPosition + MsgHeader.MSG_SEQNUM_POS)); persistBuffer.isTransmitted(isTransmitted); /* Get TunnelStreamHeader length. */ _tmpBuf.clear(); _tmpBuf.data(_fileByteBuf, entryPosition + MsgHeader.LENGTH, persistBuffer.length()); tmpDecodeIter.clear(); tmpDecodeIter.setBufferAndRWFVersion(_tmpBuf, _tunnelSubstream._tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelSubstream._tunnelStream.classOfService().common().protocolMinorVersion()); if ((ret = tmpMsg.decode(tmpDecodeIter)) != CodecReturnCodes.SUCCESS) { error.errorId(ret); error.text("Failed to decode message while loading message from file."); return ReactorReturnCodes.FAILURE; } persistBuffer.tunnelStreamHeaderLen(tmpMsg.encodedDataBody().position() - (entryPosition + MsgHeader.LENGTH)); if (isTransmitted) _waitingQueueAckList.push(persistBuffer, TunnelStreamPersistenceBuffer.SUBSTREAM_LINK); else _waitingTransmitList.push(persistBuffer, TunnelStreamPersistenceBuffer.SUBSTREAM_LINK); return ReactorReturnCodes.SUCCESS; }
public void encodeSampleMsg(TunnelStream tunnelStream, TransportBuffer buffer) { EncodeIterator eIter = CodecFactory.createEncodeIterator(); Msg msg = CodecFactory.createMsg(); assertEquals(CodecReturnCodes.SUCCESS, eIter.setBufferAndRWFVersion(buffer, tunnelStream.classOfService().common().protocolMajorVersion(), tunnelStream.classOfService().common().protocolMinorVersion())); msg.msgClass(MsgClasses.GENERIC); msg.domainType(200); msg.streamId(1985); msg.containerType(DataTypes.OPAQUE); msg.encodedDataBody().data("Sample"); assertEquals(CodecReturnCodes.SUCCESS, msg.encode(eIter)); }
_encIter.setBufferAndRWFVersion(tunnelBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion());
public void decodeSampleMsg(TunnelStream tunnelStream, TransportBuffer buffer) { DecodeIterator dIter = CodecFactory.createDecodeIterator(); Msg msg = CodecFactory.createMsg(); assertEquals(CodecReturnCodes.SUCCESS, dIter.setBufferAndRWFVersion(buffer, tunnelStream.classOfService().common().protocolMajorVersion(), tunnelStream.classOfService().common().protocolMinorVersion())); assertEquals(CodecReturnCodes.SUCCESS, msg.decode(dIter)); assertEquals(MsgClasses.GENERIC, msg.msgClass()); assertEquals(200, msg.domainType()); assertEquals(1985, msg.streamId()); assertEquals(DataTypes.OPAQUE, msg.containerType()); assertTrue(msg.encodedDataBody().toString().equals("Sample")); }
_decodeIter.setBufferAndRWFVersion(event.transportBuffer(), event.tunnelStream().classOfService().common().protocolMajorVersion(), event.tunnelStream().classOfService().common().protocolMinorVersion()); if (event.containerType() == DataTypes.MSG) event.tunnelStream().classOfService().authentication().type() == ClassesOfService.AuthenticationTypes.OMM_LOGIN && _msg.domainType() == DomainTypes.LOGIN && _msg.msgClass() == MsgClasses.REQUEST) ret = _encodeIter.setBufferAndRWFVersion(buffer, event.tunnelStream().classOfService().common().protocolMajorVersion(), event.tunnelStream().classOfService().common().protocolMinorVersion()); if (ret != CodecReturnCodes.SUCCESS)
if ((ret = tunnelStream.classOfService().decode(_reactorChannel, refreshMsg.encodedDataBody(), errorInfo)) != ReactorReturnCodes.SUCCESS) if (tunnelStream.classOfService().flowControl().recvWindowSize() == -1) tunnelStream.classOfService().flowControl().recvWindowSize(TunnelStream.DEFAULT_RECV_WINDOW); if (tunnelStream.classOfService().flowControl().recvWindowSize() < tunnelStream.classOfService().common().maxFragmentSize()) tunnelStream.classOfService().flowControl().recvWindowSize(tunnelStream.classOfService().common().maxFragmentSize()); if (tunnelStream.classOfService().flowControl().sendWindowSize() == -1) tunnelStream.classOfService().flowControl().sendWindowSize(TunnelStream.DEFAULT_RECV_WINDOW); if (tunnelStream.classOfService().flowControl().sendWindowSize() < tunnelStream.classOfService().common().maxFragmentSize()) tunnelStream.classOfService().flowControl().sendWindowSize(tunnelStream.classOfService().common().maxFragmentSize()); CosCommon commonProperties = tunnelStream.classOfService().common(); if (commonProperties.streamVersion() <= CosCommon.CURRENT_STREAM_VERSION) if (tunnelStream.classOfService().authentication().type() != ClassesOfService.AuthenticationTypes.OMM_LOGIN)
/** This provider always rejects tunnel streams. */ class TunnelStreamRejectProvider extends Provider { TunnelStreamRejectOptions _rejectOptions = ReactorFactory.createTunnelStreamRejectOptions(); public TunnelStreamRejectProvider(TestReactor reactor) { super(reactor); } @Override public int listenerCallback(TunnelStreamRequestEvent event) { super.listenerCallback(event); /* Accept the tunnel stream request. */ _rejectOptions.clear(); _rejectOptions.state().streamState(StreamStates.CLOSED); _rejectOptions.state().dataState(DataStates.SUSPECT); _rejectOptions.state().code(StateCodes.NOT_ENTITLED); assertEquals(ReactorReturnCodes.SUCCESS, reactorChannel().rejectTunnelStream(event, _rejectOptions, _errorInfo)); return ReactorReturnCodes.SUCCESS; } }
tmpDecodeIter.setBufferAndRWFVersion(tunnelStreamBuffer, _tunnelSubstream._tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelSubstream._tunnelStream.classOfService().common().protocolMinorVersion()); if (tmpDecodeIter.extractStreamId() != _tunnelSubstream._streamId) tmpEncodeIter.setBufferAndRWFVersion(tunnelStreamBuffer, _tunnelSubstream._tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelSubstream._tunnelStream.classOfService().common().protocolMinorVersion()); if ((ret = tmpEncodeIter.replaceStreamId(_tunnelSubstream._streamId)) != CodecReturnCodes.SUCCESS)
assertEquals(Codec.protocolType(), consTunnelStream.classOfService().common().protocolType()); assertEquals(Codec.majorVersion(), consTunnelStream.classOfService().common().protocolMajorVersion()); assertEquals(Codec.minorVersion(), consTunnelStream.classOfService().common().protocolMinorVersion()); assertEquals(614400, consTunnelStream.classOfService().common().maxMsgSize()); assertEquals(6144, consTunnelStream.classOfService().common().maxFragmentSize()); assertEquals(AuthenticationTypes.OMM_LOGIN, consTunnelStream.classOfService().authentication().type()); assertEquals(FlowControlTypes.BIDIRECTIONAL, consTunnelStream.classOfService().flowControl().type()); assertEquals(TunnelStream.DEFAULT_RECV_WINDOW, consTunnelStream.classOfService().flowControl().sendWindowSize()); assertEquals(TunnelStream.DEFAULT_RECV_WINDOW, consTunnelStream.classOfService().flowControl().recvWindowSize()); assertEquals(DataIntegrityTypes.RELIABLE, consTunnelStream.classOfService().dataIntegrity().type()); assertEquals(GuaranteeTypes.NONE, consTunnelStream.classOfService().guarantee().type()); assertEquals(Codec.protocolType(), provTunnelStream.classOfService().common().protocolType()); assertEquals(Codec.majorVersion(), provTunnelStream.classOfService().common().protocolMajorVersion()); assertEquals(Codec.minorVersion(), provTunnelStream.classOfService().common().protocolMinorVersion()); assertEquals(614400, provTunnelStream.classOfService().common().maxMsgSize()); assertEquals(6144, provTunnelStream.classOfService().common().maxFragmentSize()); assertEquals(AuthenticationTypes.OMM_LOGIN, provTunnelStream.classOfService().authentication().type()); assertEquals(FlowControlTypes.BIDIRECTIONAL, provTunnelStream.classOfService().flowControl().type()); assertEquals(CosCommon.DEFAULT_MAX_FRAGMENT_SIZE, provTunnelStream.classOfService().flowControl().sendWindowSize()); assertEquals(TunnelStream.DEFAULT_RECV_WINDOW, provTunnelStream.classOfService().flowControl().recvWindowSize()); assertEquals(DataIntegrityTypes.RELIABLE, provTunnelStream.classOfService().dataIntegrity().type()); assertEquals(GuaranteeTypes.NONE, provTunnelStream.classOfService().guarantee().type());
assertEquals(Codec.protocolType(), consTunnelStream.classOfService().common().protocolType()); assertEquals(Codec.majorVersion(), consTunnelStream.classOfService().common().protocolMajorVersion()); assertEquals(Codec.minorVersion(), consTunnelStream.classOfService().common().protocolMinorVersion()); assertEquals(maxMsgSize, consTunnelStream.classOfService().common().maxMsgSize()); assertEquals(AuthenticationTypes.NOT_REQUIRED, consTunnelStream.classOfService().authentication().type()); assertEquals(FlowControlTypes.BIDIRECTIONAL, consTunnelStream.classOfService().flowControl().type()); assertEquals(TunnelStream.DEFAULT_RECV_WINDOW, consTunnelStream.classOfService().flowControl().sendWindowSize()); assertEquals(TunnelStream.DEFAULT_RECV_WINDOW, consTunnelStream.classOfService().flowControl().recvWindowSize()); assertEquals(DataIntegrityTypes.RELIABLE, consTunnelStream.classOfService().dataIntegrity().type()); assertEquals(GuaranteeTypes.NONE, consTunnelStream.classOfService().guarantee().type()); assertEquals(Codec.protocolType(), provTunnelStream.classOfService().common().protocolType()); assertEquals(Codec.majorVersion(), provTunnelStream.classOfService().common().protocolMajorVersion()); assertEquals(Codec.minorVersion(), provTunnelStream.classOfService().common().protocolMinorVersion()); assertEquals(maxMsgSize, provTunnelStream.classOfService().common().maxMsgSize()); assertEquals(AuthenticationTypes.NOT_REQUIRED, provTunnelStream.classOfService().authentication().type()); assertEquals(FlowControlTypes.BIDIRECTIONAL, provTunnelStream.classOfService().flowControl().type()); assertEquals(provTunnelStream.classOfService().common().maxFragmentSize(), provTunnelStream.classOfService().flowControl().sendWindowSize()); assertEquals(TunnelStream.DEFAULT_RECV_WINDOW, provTunnelStream.classOfService().flowControl().recvWindowSize()); assertEquals(DataIntegrityTypes.RELIABLE, provTunnelStream.classOfService().dataIntegrity().type()); assertEquals(GuaranteeTypes.NONE, provTunnelStream.classOfService().guarantee().type());
_maxMsgLength = _tunnelSubstream._tunnelStream.classOfService().common().maxMsgSize(); _tunnelSubstream._lastOutSeqNum = 0; _tunnelSubstream._lastInSeqNum = 0;
_decIter.setBufferAndRWFVersion(deliveredMsg.encodedDataBody(), _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); if ((ret = _encSubMsg.decode(_decIter)) < CodecReturnCodes.SUCCESS) _decIter.setBufferAndRWFVersion(deliveredMsg.encodedDataBody(), _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); if ((ret = _encSubMsg.decode(_decIter)) < CodecReturnCodes.SUCCESS) _encIter.setBufferAndRWFVersion(ackBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion()); _encIter.setBufferAndRWFVersion(ackBuffer, _tunnelStream.classOfService().common().protocolMajorVersion(), _tunnelStream.classOfService().common().protocolMinorVersion());
tunnelStream.classOfService().flowControl().sendWindowSize(event.classOfService().flowControl().recvWindowSize()); if (tunnelStream.classOfService().flowControl().sendWindowSize() < tunnelStream.classOfService().common().maxFragmentSize()) tunnelStream.classOfService().flowControl().sendWindowSize(tunnelStream.classOfService().common().maxFragmentSize());
_maxMsgLength = _tunnelSubstream._tunnelStream.classOfService().common().maxMsgSize(); _tunnelSubstream._lastOutSeqNum = 0; _tunnelSubstream._lastInSeqNum = 0;
assertNotNull(tsMsgEvent.transportBuffer()); dIter.clear(); dIter.setBufferAndRWFVersion(tsMsgEvent.transportBuffer(), provTunnelStream.classOfService().common().protocolMajorVersion(), provTunnelStream.classOfService().common().protocolMinorVersion()); assertEquals(CodecReturnCodes.SUCCESS, msg.decode(dIter)); assertEquals(MsgClasses.REQUEST, msg.msgClass());