35 static constexpr unsigned maxFDPerMessage {16};
36 static constexpr unsigned maxReadBufferLength {49152};
37 static constexpr unsigned maxWriteBufferLength {49152};
42 void ioCb(ev::io &watcher,
int revents);
47 std::set<SerializedMsg*> readBlocker;
49 std::list<SerializedMsg*> msgq;
50 std::list<int> incomingSharedBuffers;
56 size_t doRead(
char * buff,
size_t len);
110 void setFds(
int rFd,
int wFd);
117 virtual void log(
const std::string &
log)
const;
static void crackBLOB(const char *enableBLOB, BLOBHandling *bp)
void messageMayHaveProgressed(const SerializedMsg *msg)
virtual void onMessage(XMLEle *root, std::list< int > &sharedBuffers)=0
virtual bool acceptSharedBuffers() const
void traceMsg(const std::string &log, XMLEle *root)
virtual void closeWritePart()
unsigned long msgQSize() const
virtual void log(const std::string &log) const
SerializedMsg * headMsg() const
void setFds(int rFd, int wFd)
Interface to the reference INDI C API device implementation on the Device Driver side.
BLOBHandling
How drivers handle BLOBs incoming from snooping drivers.
A little DOM-style library to handle parsing and processing an XML file.