|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.devexperts.qd.qtp.AbstractMessageVisitor
com.devexperts.qd.qtp.AbstractByteArrayComposer
com.devexperts.qd.qtp.ByteArrayComposer
public class ByteArrayComposer
The ByteArrayComposer
composes QTP messages and accumulates them
in a linear byte array buffer.
AbstractByteArrayComposer
Field Summary |
---|
Fields inherited from class com.devexperts.qd.qtp.AbstractByteArrayComposer |
---|
historyAddSubscription, out, pooledBuffer, processed, RECORD_STATE_DESCRIBED, RECORD_STATE_NEW, recordState, scheme, threshold |
Constructor Summary | |
---|---|
ByteArrayComposer(DataScheme scheme)
Constructs composer with a specified scheme in a stateless mode (describe messages are not being composed). |
|
ByteArrayComposer(DataScheme scheme,
boolean describeRecords)
Constructs composer with a specified scheme and a describe records mode. |
Method Summary | |
---|---|
void |
append(RecordCursor cursor)
|
protected void |
composeHistorySubscriptionTime(DataRecord record,
long time)
|
protected void |
composeIntField(DataIntField field,
int value)
|
protected void |
composeMessageHeader(int messageTypeId)
Composes header of a message of specific type. |
protected void |
composeObjField(DataObjField field,
java.lang.Object value)
|
protected void |
composeOtherMessageBody(byte[] messageBytes,
int offset,
int length)
|
protected void |
composeRecord(DataRecord record,
int cipher,
java.lang.String symbol)
|
protected void |
finishComposingMessage(int messageStart)
Performs actions necessary to finish composing a message (for example, inserts message size, inserts records descriptions if necessary). |
void |
makeHeartbeat()
Writes a special heartbeat mark to the data output. |
void |
resetSession()
Resets session state for composer with describe records mode. |
boolean |
retrieveMessagesInSessionFrom(MessageAdapter adapter)
|
void |
visitDescribeProtocol(ProtocolDescriptor descriptor)
|
Methods inherited from class com.devexperts.qd.qtp.AbstractByteArrayComposer |
---|
beginMessage, endMessage, getBuffer, getProcessed, getThreshold, hasCapacity, moveDataForward, removeBytes, setThreshold, visitData, visitIntField, visitObjField, visitOtherMessage, visitRecord, visitRecord, visitSubscription |
Methods inherited from class com.devexperts.qd.qtp.AbstractMessageVisitor |
---|
visitHistoryAddSubscription, visitHistoryData, visitHistoryRemoveSubscription, visitStreamAddSubscription, visitStreamData, visitStreamRemoveSubscription, visitTickerAddSubscription, visitTickerData, visitTickerRemoveSubscription |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.devexperts.qd.ng.RecordSink |
---|
hasCapacity |
Constructor Detail |
---|
public ByteArrayComposer(DataScheme scheme)
ByteArrayComposer(scheme, false)
.
scheme
- Data scheme to use.public ByteArrayComposer(DataScheme scheme, boolean describeRecords)
scheme
- Data scheme to use.describeRecords
- If true
, then describe messages are composed right before
records are used for the first time and this instance keeps its state and shall not be
reused for different communication sessions.Method Detail |
---|
public void resetSession()
AbstractByteArrayComposer
resetSession
in class AbstractByteArrayComposer
AbstractByteArrayComposer.AbstractByteArrayComposer(DataScheme, boolean)
public void makeHeartbeat()
public boolean retrieveMessagesInSessionFrom(MessageAdapter adapter)
public void append(RecordCursor cursor)
append
in interface RecordSink
public void visitDescribeProtocol(ProtocolDescriptor descriptor)
visitDescribeProtocol
in interface MessageVisitor
visitDescribeProtocol
in class AbstractMessageVisitor
protected void composeRecord(DataRecord record, int cipher, java.lang.String symbol) throws java.io.IOException
composeRecord
in class AbstractByteArrayComposer
java.io.IOException
protected void composeHistorySubscriptionTime(DataRecord record, long time) throws java.io.IOException
composeHistorySubscriptionTime
in class AbstractByteArrayComposer
java.io.IOException
protected void composeIntField(DataIntField field, int value) throws java.io.IOException
composeIntField
in class AbstractByteArrayComposer
java.io.IOException
protected void composeObjField(DataObjField field, java.lang.Object value) throws java.io.IOException
composeObjField
in class AbstractByteArrayComposer
java.io.IOException
protected void composeOtherMessageBody(byte[] messageBytes, int offset, int length) throws java.io.IOException
composeOtherMessageBody
in class AbstractByteArrayComposer
java.io.IOException
protected void composeMessageHeader(int messageTypeId) throws java.io.IOException
AbstractByteArrayComposer
composeMessageHeader
in class AbstractByteArrayComposer
messageTypeId
- id of message type (see MessageConstants
).
java.io.IOException
- never. If it has been thrown then it means an internal error.protected void finishComposingMessage(int messageStart) throws java.io.IOException
AbstractByteArrayComposer
ByteArrayComposer
.
finishComposingMessage
in class AbstractByteArrayComposer
messageStart
- position in buffer where message begins. The end of a message
is at current buffer position (out.getPosition()
).
java.io.IOException
- never.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |