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, update
private 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()
AnonChannel
getOutputBlockSize
in interface AnonChannel
getOutputBlockSize
in class AbstractDataChain
public void createPacketPayload(DataChainSendOrderStructure a_order)
createPacketPayload
in class AbstractDataChain
public void run()
run
in interface java.lang.Runnable
run
in class AbstractDataChain
protected void orderPacket(DataChainSendOrderStructure a_order)
orderPacket
in class AbstractDataChain
protected void outputStreamClosed() throws java.io.IOException
outputStreamClosed
in class AbstractDataChain
java.io.IOException
protected void closeDataChain()
closeDataChain
in class AbstractDataChain
Copyright © 2023. All rights reserved.