Site Tools


documentation:development:opera:pf25:tktfldr:dsrfldr:02dsr011

DSStreamCB

Stream context block structure.

Synopsis

typedef struct DSStreamCB {
   Item creatorTask;
   uint32 creatorSignal;
   int32 creatorStatus;
   Item threadItem;
   void* threadStackBlock;
   Item acquirePort;
   long bufDataSize;
   DSDataBufPtr freeBufHead;
   unsigned long streamFlags;
   uint32 clockOffset;
   uint32 lastValidClock;
   uint32 branchDest;
   Item requestPort;
   uint32 requestPortSignal;
   Item acqReplyPort;
   uint32 acqReplyPortSignal;
   MemPoolPtr dataMsgPool;
   Item subsReplyPort;
   uint32 subsReplyPortSignal;
   MemPoolPtr subsMsgPool;
   DSDataBufPtr filledBufHead;
   DSDataBufPtr filledBufTail;
   long totalBufferCount;
   long currentFreeBufferCount;
   DSRequestMsgPtr endOfStreamMsg;
   int32 repliesPending;
   DSRequestMsgPtr requestMsgHead;
   DSRequestMsgPtr requestMsgTail;
   long numSubscribers;
   DSSubscriber subscriber[DS_MAX_SUBSCRIBERS];
} DSStreamCB,  *DSStreamCBPtr

Description

This data structure contains all the contexts necessary to drive a stream, including a description of all subscribers and the information necessary to manage all memory buffers. One of these data structures exists for each open stream.

Fields

  • creatorTask Task to signal when initialization complete.
  • creatorSignal Signal to send for synchronous completion.
  • creatorStatus Result code for creator.
  • threadItem Thread Item for the server process.
  • threadStackBlock Pointer to thread's stack memory block.
  • acquirePort Acquisition module message port.
  • bufDataSize Size of data buffers in BYTES.
  • freeBufHead Pointer to list of free data buffers.
  • streamFlags Stream state flags.
  • clockOffset Offset to get relative stream clock.
  • lastValidClock Set when stream stopped.
  • branchDest Marker to branching to STRM_GO_INPROGRESS true.
  • requestPort Work request message port.
  • requestPortSignal Signal for request port.
  • acqReplyPort Reply port for data acquisition communications.
  • acqReplyPortSignal Signal for data acquisition reply port.
  • dataMsgPool Pool of data message blocks.
  • subsReplyPort Reply port for subscriber communication.
  • subsReplyPortSignal Signal for subscriber reply port.
  • subsMsgPool Pool of subscriber message blocks.
  • filledBufHead Pointer to list of filled data buffers.
  • filledBufTail Pointer to end of list of filled data buffers.
  • repliesPending Number of replies needed before replying to request.
  • requestMsgHead Pointer to first request message in queue.
  • requestMsgTail Pointer to last request message in queue.
  • numSubscribers Number of subscribers.

Associated Files

DataStream.h

documentation/development/opera/pf25/tktfldr/dsrfldr/02dsr011.txt · Last modified: 2022/10/10 16:54 by 127.0.0.1