public class SequentialChannelDataChain extends AbstractDataChain
| Modifier and Type | Class and Description |
|---|---|
private class |
SequentialChannelDataChain.ChainCell
This class parses the raw message received over the channel and and gives
structured access to the data inside a Data Chain message, like its
length, the chain id, different flags and the payload data.
|
private class |
SequentialChannelDataChain.InvalidChainCellException |
private class |
SequentialChannelDataChain.SendOrderProtocolData |
| Modifier and Type | Field and Description |
|---|---|
private static int |
CHAIN_ID_LENGTH |
private static short |
FLAG_CONNECTION_ERROR |
private static short |
FLAG_FAST_RESPONSE |
private static short |
FLAG_NEW_CHAIN |
private static short |
FLAG_STREAM_CLOSED |
private static short |
FLAG_UNKNOWN_CHAIN_ID |
private java.util.Vector |
m_associatedChannels |
private boolean |
m_chainClosed |
private byte[] |
m_chainId |
private boolean |
m_firstDownstreamPacket |
private int |
m_maximumOutputBlocksize |
private java.lang.Object |
m_sendSynchronization |
HTTP, SMTP, SOCKS, TCP, UDP, UDP_OVER_TCP, UDP_OVER_UDP, VPN| Constructor and Description |
|---|
SequentialChannelDataChain(IDataChannelCreator a_channelCreator,
DataChainErrorListener a_errorListener,
IntegrityErrorListener a_integrityErrorListener,
long a_chainTimeout) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
closeDataChain() |
void |
createPacketPayload(DataChainSendOrderStructure a_order)
Creates the packet payload from the data stored in the given order.
|
int |
getOutputBlockSize()
Returns a value that indicates the current optimum size of data to write.
|
protected void |
orderPacket(DataChainSendOrderStructure a_order) |
private void |
orderPacketInternal(DataChainSendOrderStructure a_order,
boolean a_sendUpstreamClose,
boolean a_enforceFastResponse) |
protected void |
outputStreamClosed() |
void |
run() |
addInputStreamQueueEntry, close, createDataChannel, getInputStream, getMessageQueuesNotificationsList, getOutputStream, interruptDownstreamThread, isClosed, propagateConnectionError, propagateIntegrityError, updateprivate static final int CHAIN_ID_LENGTH
private static final short FLAG_UNKNOWN_CHAIN_ID
private static final short FLAG_CONNECTION_ERROR
private static final short FLAG_NEW_CHAIN
private static final short FLAG_FAST_RESPONSE
private static final short FLAG_STREAM_CLOSED
private java.util.Vector m_associatedChannels
private boolean m_firstDownstreamPacket
private volatile byte[] m_chainId
private int m_maximumOutputBlocksize
private java.lang.Object m_sendSynchronization
private volatile boolean m_chainClosed
public SequentialChannelDataChain(IDataChannelCreator a_channelCreator, DataChainErrorListener a_errorListener, IntegrityErrorListener a_integrityErrorListener, long a_chainTimeout)
public int getOutputBlockSize()
AnonChannelgetOutputBlockSize in interface AnonChannelgetOutputBlockSize in class AbstractDataChainpublic void createPacketPayload(DataChainSendOrderStructure a_order)
AbstractDataChainThe processed data will be stored in the channel cell of the order.
createPacketPayload in class AbstractDataChainpublic void run()
run in interface java.lang.Runnablerun in class AbstractDataChainprotected void orderPacket(DataChainSendOrderStructure a_order)
orderPacket in class AbstractDataChainprivate void orderPacketInternal(DataChainSendOrderStructure a_order, boolean a_sendUpstreamClose, boolean a_enforceFastResponse)
protected void outputStreamClosed()
throws java.io.IOException
outputStreamClosed in class AbstractDataChainjava.io.IOExceptionprotected void closeDataChain()
closeDataChain in class AbstractDataChainCopyright © 2023. All rights reserved.