Instrument Neutral Distributed Interface INDI  2.0.2
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
SerializedMsg Class Referenceabstract
Inheritance diagram for SerializedMsg:
SerializedMsgWithSharedBuffer SerializedMsgWithoutSharedBuffer

Public Member Functions

 SerializedMsg (Msg *parent)
 
virtual ~SerializedMsg ()
 
bool requestContent (const MsgChunckIterator &position)
 
bool getContent (MsgChunckIterator &position, void *&data, ssize_t &nsend, std::vector< int > &sharedBuffers)
 
void advance (MsgChunckIterator &position, ssize_t s)
 
void release (MsgQueue *from)
 
void addAwaiter (MsgQueue *awaiter)
 
ssize_t queueSize ()
 

Protected Member Functions

bool async_canceled ()
 
void async_updateRequirement (const SerializationRequirement &n)
 
void async_pushChunck (const MsgChunck &m)
 
void async_done ()
 
bool isAsyncRunning ()
 
void onDataReady ()
 
virtual bool generateContentAsync () const =0
 
virtual void generateContent ()=0
 
void collectRequirements (SerializationRequirement &req)
 
void abort ()
 
void blockReceiver (MsgQueue *toblock)
 

Protected Attributes

SerializationStatus asyncStatus
 
Msgowner
 
MsgQueueblockedProducer
 
std::set< MsgQueue * > awaiters
 
std::list< void * > ownBuffers
 

Friends

class Msg
 
class MsgChunckIterator
 

Detailed Description

Definition at line 313 of file indiserver.cpp.

Constructor & Destructor Documentation

◆ SerializedMsg()

SerializedMsg::SerializedMsg ( Msg parent)

Definition at line 2833 of file indiserver.cpp.

◆ ~SerializedMsg()

SerializedMsg::~SerializedMsg ( )
virtual

Definition at line 2850 of file indiserver.cpp.

Member Function Documentation

◆ abort()

void SerializedMsg::abort ( )
protected

◆ addAwaiter()

void SerializedMsg::addAwaiter ( MsgQueue awaiter)

Definition at line 3019 of file indiserver.cpp.

◆ advance()

void SerializedMsg::advance ( MsgChunckIterator position,
ssize_t  s 
)

Definition at line 3002 of file indiserver.cpp.

◆ async_canceled()

bool SerializedMsg::async_canceled ( )
protected

Definition at line 2858 of file indiserver.cpp.

◆ async_done()

void SerializedMsg::async_done ( )
protected

Definition at line 2883 of file indiserver.cpp.

◆ async_pushChunck()

void SerializedMsg::async_pushChunck ( const MsgChunck m)
protected

Definition at line 2875 of file indiserver.cpp.

◆ async_updateRequirement()

void SerializedMsg::async_updateRequirement ( const SerializationRequirement n)
protected

Definition at line 2864 of file indiserver.cpp.

◆ blockReceiver()

void SerializedMsg::blockReceiver ( MsgQueue toblock)
protected

Definition at line 3039 of file indiserver.cpp.

◆ collectRequirements()

void SerializedMsg::collectRequirements ( SerializationRequirement req)
protected

Definition at line 3033 of file indiserver.cpp.

◆ generateContent()

virtual void SerializedMsg::generateContent ( )
protectedpure virtual

◆ generateContentAsync()

virtual bool SerializedMsg::generateContentAsync ( ) const
protectedpure virtual

◆ getContent()

bool SerializedMsg::getContent ( MsgChunckIterator position,
void *&  data,
ssize_t &  nsend,
std::vector< int > &  sharedBuffers 
)

Definition at line 2966 of file indiserver.cpp.

◆ isAsyncRunning()

bool SerializedMsg::isAsyncRunning ( )
protected

Definition at line 2935 of file indiserver.cpp.

◆ onDataReady()

void SerializedMsg::onDataReady ( )
protected

◆ queueSize()

ssize_t SerializedMsg::queueSize ( )

Definition at line 3045 of file indiserver.cpp.

◆ release()

void SerializedMsg::release ( MsgQueue from)

Definition at line 3024 of file indiserver.cpp.

◆ requestContent()

bool SerializedMsg::requestContent ( const MsgChunckIterator position)

Definition at line 2943 of file indiserver.cpp.

Friends And Related Function Documentation

◆ Msg

friend class Msg
friend

Definition at line 315 of file indiserver.cpp.

◆ MsgChunckIterator

friend class MsgChunckIterator
friend

Definition at line 316 of file indiserver.cpp.

Member Data Documentation

◆ asyncStatus

SerializationStatus SerializedMsg::asyncStatus
protected

Definition at line 345 of file indiserver.cpp.

◆ awaiters

std::set<MsgQueue *> SerializedMsg::awaiters
protected

Definition at line 350 of file indiserver.cpp.

◆ blockedProducer

MsgQueue* SerializedMsg::blockedProducer
protected

Definition at line 348 of file indiserver.cpp.

◆ ownBuffers

std::list<void*> SerializedMsg::ownBuffers
protected

Definition at line 356 of file indiserver.cpp.

◆ owner

Msg* SerializedMsg::owner
protected

Definition at line 346 of file indiserver.cpp.


The documentation for this class was generated from the following file: