public final class SingleChannelDataChain extends AbstractDataChain
| Modifier and Type | Class and Description |
|---|---|
private class |
SingleChannelDataChain.ChainCell |
private class |
SingleChannelDataChain.InvalidChainCellException |
| Modifier and Type | Field and Description |
|---|---|
private static int |
CHAIN_HEADER_LEN |
private static int |
CLOSE_CELL_CONNECTION_ERROR |
private static int |
FLAG_FLOW_CONTROL |
private static short |
FLAG_INTEGRITY_ERROR |
private AbstractDataChannel |
m_associatedChannel |
private boolean |
m_bWithIntegrityCheck |
private int |
m_chainType |
private int |
m_downstreamSendMeCount |
private int |
m_downstreamSendMeLimit |
private boolean |
m_firstUpstreamPacket |
private InternalChannelMessageQueue |
m_internalChannelMessageQueue |
private java.lang.Object |
m_oSyncUpstreamFlowControl |
private boolean |
m_supportFlowControl |
private boolean |
m_supportUpstreamFlowControl |
private int |
m_upstreamSendMeCount |
private int |
m_upstreamSendMeLimit |
HTTP, SMTP, SOCKS, TCP, UDP, UDP_OVER_TCP, UDP_OVER_UDP, VPN| Constructor and Description |
|---|
SingleChannelDataChain(IDataChannelCreator a_channelCreator,
DataChainErrorListener a_errorListener,
IntegrityErrorListener a_integrityErrorListener,
int a_chainType,
boolean a_supportFlowControl,
boolean a_supportUpstreamFlowControl,
int upstreamSendMe,
int downstreamSendMe,
boolean a_enhancedChannelEncryption,
boolean a_withIntegrityCheck) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
closeDataChain() |
void |
createPacketPayload(DataChainSendOrderStructure a_order)
Takes the order data of the given order, adds the length, the flow
control flag and chain type to the front and copies that data to the
channel cell buffer of the order.
|
int |
getOutputBlockSize()
Returns a value that indicates the current optimum size of data to write.
|
protected void |
orderPacket(DataChainSendOrderStructure a_order) |
protected void |
outputStreamClosed() |
void |
run() |
addInputStreamQueueEntry, close, createDataChannel, getInputStream, getMessageQueuesNotificationsList, getOutputStream, interruptDownstreamThread, isClosed, propagateConnectionError, propagateIntegrityError, updateprivate static final int FLAG_FLOW_CONTROL
private static final int CLOSE_CELL_CONNECTION_ERROR
private static final short FLAG_INTEGRITY_ERROR
private static final int CHAIN_HEADER_LEN
private int m_chainType
private boolean m_supportFlowControl
private boolean m_supportUpstreamFlowControl
private AbstractDataChannel m_associatedChannel
private boolean m_firstUpstreamPacket
private int m_downstreamSendMeCount
private int m_upstreamSendMeCount
private int m_downstreamSendMeLimit
private int m_upstreamSendMeLimit
private java.lang.Object m_oSyncUpstreamFlowControl
private boolean m_bWithIntegrityCheck
private InternalChannelMessageQueue m_internalChannelMessageQueue
public SingleChannelDataChain(IDataChannelCreator a_channelCreator, DataChainErrorListener a_errorListener, IntegrityErrorListener a_integrityErrorListener, int a_chainType, boolean a_supportFlowControl, boolean a_supportUpstreamFlowControl, int upstreamSendMe, int downstreamSendMe, boolean a_enhancedChannelEncryption, boolean a_withIntegrityCheck)
public int getOutputBlockSize()
AnonChannelgetOutputBlockSize in interface AnonChannelgetOutputBlockSize in class AbstractDataChainpublic void createPacketPayload(DataChainSendOrderStructure a_order)
createPacketPayload in class AbstractDataChainpublic void run()
run in interface java.lang.Runnablerun in class AbstractDataChainprotected void orderPacket(DataChainSendOrderStructure a_order)
orderPacket in class AbstractDataChainprotected void outputStreamClosed()
throws java.io.IOException
outputStreamClosed in class AbstractDataChainjava.io.IOExceptionprotected void closeDataChain()
closeDataChain in class AbstractDataChainCopyright © 2023. All rights reserved.