Stream-like Payload for Message object. More...
#include <PayloadStream.h>
Public Member Functions | |
virtual bool | Get (char *buf, int &size)=0 |
virtual bool | Get (std::string &buf)=0 |
virtual std::string | Get (void)=0 |
virtual bool | Put (const char *buf, Size_t size)=0 |
virtual bool | Put (const std::string &buf)=0 |
virtual bool | Put (const char *buf)=0 |
virtual | operator bool (void)=0 |
virtual bool | operator! (void)=0 |
virtual int | Timeout (void) const =0 |
virtual void | Timeout (int to)=0 |
virtual Size_t | Pos (void) const =0 |
virtual Size_t | Size (void) const =0 |
virtual Size_t | Limit (void) const =0 |
Stream-like Payload for Message object.
This class is a virtual interface for managing stream-like source and destination. It's supposed to be passed through MCC chain as payload of Message. It must be treated by MCCs and Services as dynamic payload. This class is purely virtual.
virtual std::string Arc::PayloadStreamInterface::Get | ( | void | ) | [pure virtual] |
Read as many as possible (sane amount) of bytes.
Implemented in Arc::PayloadStream.
virtual bool Arc::PayloadStreamInterface::Get | ( | std::string & | buf | ) | [pure virtual] |
Read as many as possible (sane amount) of bytes into buf.
Implemented in Arc::PayloadStream.
virtual bool Arc::PayloadStreamInterface::Get | ( | char * | buf, | |
int & | size | |||
) | [pure virtual] |
Extracts information from stream up to 'size' bytes. 'size' contains number of read bytes on exit. Returns true in case of success.
Implemented in Arc::PayloadStream.
virtual Size_t Arc::PayloadStreamInterface::Limit | ( | void | ) | const [pure virtual] |
Returns position at which stream reading will stop if supported. That may be not same as Size() if instance is meant to provide access to only part of underlying obejct.
Implemented in Arc::PayloadStream.
virtual Arc::PayloadStreamInterface::operator bool | ( | void | ) | [pure virtual] |
Returns true if stream is valid.
Implemented in Arc::PayloadStream.
virtual bool Arc::PayloadStreamInterface::operator! | ( | void | ) | [pure virtual] |
Returns true if stream is invalid.
Implemented in Arc::PayloadStream.
virtual Size_t Arc::PayloadStreamInterface::Pos | ( | void | ) | const [pure virtual] |
Returns current position in stream if supported.
Implemented in Arc::PayloadStream.
virtual bool Arc::PayloadStreamInterface::Put | ( | const char * | buf | ) | [pure virtual] |
Push null terminated information from 'buf' into stream. Returns true on success.
Implemented in Arc::PayloadStream.
virtual bool Arc::PayloadStreamInterface::Put | ( | const std::string & | buf | ) | [pure virtual] |
Push information from 'buf' into stream. Returns true on success.
Implemented in Arc::PayloadStream.
virtual bool Arc::PayloadStreamInterface::Put | ( | const char * | buf, | |
Size_t | size | |||
) | [pure virtual] |
Push 'size' bytes from 'buf' into stream. Returns true on success.
Implemented in Arc::PayloadStream.
virtual Size_t Arc::PayloadStreamInterface::Size | ( | void | ) | const [pure virtual] |
Returns size of underlying object if supported.
Implemented in Arc::PayloadStream.
virtual void Arc::PayloadStreamInterface::Timeout | ( | int | to | ) | [pure virtual] |
Set current timeout for Get() and Put() operations.
Implemented in Arc::PayloadStream.
virtual int Arc::PayloadStreamInterface::Timeout | ( | void | ) | const [pure virtual] |
Query current timeout for Get() and Put() operations.
Implemented in Arc::PayloadStream.