com.devexperts.qd.qtp.blob
Class BlobByteArrayComposer

java.lang.Object
  extended by com.devexperts.qd.qtp.AbstractMessageVisitor
      extended by com.devexperts.qd.qtp.AbstractByteArrayComposer
          extended by com.devexperts.qd.qtp.blob.BlobByteArrayComposer
All Implemented Interfaces:
DataVisitor, MessageVisitor, SubscriptionVisitor

public class BlobByteArrayComposer
extends AbstractByteArrayComposer

The BlobByteArrayComposer composes blobs of QD_HISTORY_DATA and accumulates them in a linear byte array buffer.

See Also:
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
BlobByteArrayComposer(DataRecord record, java.lang.String symbol)
          Constructs composer with a specified record and symbol.
 
Method Summary
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).
 
Methods inherited from class com.devexperts.qd.qtp.AbstractByteArrayComposer
beginMessage, endMessage, getBuffer, getProcessed, getThreshold, hasCapacity, moveDataForward, removeBytes, resetSession, setThreshold, visitData, visitIntField, visitObjField, visitOtherMessage, visitRecord, visitRecord, visitSubscription
 
Methods inherited from class com.devexperts.qd.qtp.AbstractMessageVisitor
visitDescribeProtocol, 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
 

Constructor Detail

BlobByteArrayComposer

public BlobByteArrayComposer(DataRecord record,
                             java.lang.String symbol)
Constructs composer with a specified record and symbol.

Parameters:
record - composing record
symbol - composing symbol
Method Detail

composeRecord

protected void composeRecord(DataRecord record,
                             int cipher,
                             java.lang.String symbol)
                      throws java.io.IOException
Specified by:
composeRecord in class AbstractByteArrayComposer
Throws:
java.io.IOException

composeHistorySubscriptionTime

protected void composeHistorySubscriptionTime(DataRecord record,
                                              long time)
                                       throws java.io.IOException
Specified by:
composeHistorySubscriptionTime in class AbstractByteArrayComposer
Throws:
java.io.IOException

composeIntField

protected void composeIntField(DataIntField field,
                               int value)
                        throws java.io.IOException
Specified by:
composeIntField in class AbstractByteArrayComposer
Throws:
java.io.IOException

composeObjField

protected void composeObjField(DataObjField field,
                               java.lang.Object value)
                        throws java.io.IOException
Specified by:
composeObjField in class AbstractByteArrayComposer
Throws:
java.io.IOException

composeOtherMessageBody

protected void composeOtherMessageBody(byte[] messageBytes,
                                       int offset,
                                       int length)
Specified by:
composeOtherMessageBody in class AbstractByteArrayComposer

composeMessageHeader

protected void composeMessageHeader(int messageTypeId)
                             throws java.io.IOException
Description copied from class: AbstractByteArrayComposer
Composes header of a message of specific type.

Specified by:
composeMessageHeader in class AbstractByteArrayComposer
Parameters:
messageTypeId - id of message type (see MessageConstants).
Throws:
java.io.IOException - never. If it has been thrown then it means an internal error.

finishComposingMessage

protected void finishComposingMessage(int messageStart)
                               throws java.io.IOException
Description copied from class: AbstractByteArrayComposer
Performs actions necessary to finish composing a message (for example, inserts message size, inserts records descriptions if necessary). Used by ByteArrayComposer.

Specified by:
finishComposingMessage in class AbstractByteArrayComposer
Parameters:
messageStart - position in buffer where message begins. The end of a message is at current buffer position (out.getPosition()).
Throws:
java.io.IOException - never.