Instrument Neutral Distributed Interface INDI  2.0.2
Public Member Functions | Static Public Member Functions | Friends | List of all members
Msg Class Reference

Public Member Functions

void queuingDone ()
 
 Msg (MsgQueue *from, XMLEle *root)
 
SerializedMsgserialize (MsgQueue *from)
 

Static Public Member Functions

static MsgfromXml (MsgQueue *from, XMLEle *root, std::list< int > &incomingSharedBuffers)
 

Friends

class SerializedMsg
 
class SerializedMsgWithSharedBuffer
 
class SerializedMsgWithoutSharedBuffer
 

Detailed Description

Definition at line 448 of file indiserver.cpp.

Constructor & Destructor Documentation

◆ Msg()

Msg::Msg ( MsgQueue from,
XMLEle root 
)

Definition at line 3083 of file indiserver.cpp.

Member Function Documentation

◆ fromXml()

Msg * Msg::fromXml ( MsgQueue from,
XMLEle root,
std::list< int > &  incomingSharedBuffers 
)
static

Definition at line 3245 of file indiserver.cpp.

◆ queuingDone()

void Msg::queuingDone ( )

Definition at line 3240 of file indiserver.cpp.

◆ serialize()

SerializedMsg * Msg::serialize ( MsgQueue from)

Handle multiple cases:

  • inline => attached. Exceptional. The inline is already in memory within xml. It must be converted to shared buffer async. FIXME: The convertion should block the emitter.
  • attached => attached Default case. No convertion is required.
  • inline => inline Frequent on system not supporting attachment.
  • attached => inline Frequent. The convertion will be made during write. The convert/write must be offshored to a dedicated thread.

The returned AsyncTask will be ready once "to" can write the message

Definition at line 3281 of file indiserver.cpp.

Friends And Related Function Documentation

◆ SerializedMsg

friend class SerializedMsg
friend

Definition at line 450 of file indiserver.cpp.

◆ SerializedMsgWithoutSharedBuffer

friend class SerializedMsgWithoutSharedBuffer
friend

Definition at line 452 of file indiserver.cpp.

◆ SerializedMsgWithSharedBuffer

friend class SerializedMsgWithSharedBuffer
friend

Definition at line 451 of file indiserver.cpp.


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