RawPacket
RawPacket
#include <icy/packet.h>Inherits:
IPacketSubclassed by:MediaPacket,SocketPacket
RawPacket is the default data packet type which consists of an optionally managed char pointer and a size value.
Public Methods
| Return | Name | Description |
|---|---|---|
RawPacket inline | Construct with borrowed (non-owning) buffer. | |
RawPacket inline | Construct with const data (copied, owning). | |
RawPacket inline | Copy constructor (always copies data). | |
std::unique_ptr< IPacket > | clone virtual const inline | #### Returns |
void | copyData virtual inline | Copies data into an internally owned buffer, replacing any prior content. |
ssize_t | read virtual inline | Reads from the buffer by copying its contents into an owned buffer. |
void | write virtual const inline | Appends the packet data to the given output buffer. |
char * | data virtual const inline | #### Returns |
size_t | size virtual const inline | #### Returns |
const char * | className virtual const inline | Returns the class name of this packet type for logging and diagnostics. |
bool | ownsBuffer const inline | #### Returns |
RawPacket
inline
inline RawPacket(char * data, size_t size, unsigned flags, std::unique_ptr< IPacketInfo > info)Construct with borrowed (non-owning) buffer.
RawPacket
inline
inline RawPacket(const char * data, size_t size, unsigned flags, std::unique_ptr< IPacketInfo > info)Construct with const data (copied, owning).
RawPacket
inline
inline RawPacket(const RawPacket & that)Copy constructor (always copies data).
clone
virtual const inline
virtual inline std::unique_ptr< IPacket > clone() constReturns
Owning pointer to a deep copy of this packet (always copies data).
copyData
virtual inline
virtual inline void copyData(const void * data, size_t size)Copies data into an internally owned buffer, replacing any prior content.
Parameters
dataSource data pointer.sizeNumber of bytes to copy.
read
virtual inline
virtual inline ssize_t read(const ConstBuffer & buf)Reads from the buffer by copying its contents into an owned buffer.
Parameters
bufInput buffer to read from.
Returns
Number of bytes consumed (equal to buf.size()).
write
virtual const inline
virtual inline void write(Buffer & buf) constAppends the packet data to the given output buffer.
Parameters
bufBuffer to write into.
data
virtual const inline
virtual inline char * data() constReturns
Mutable pointer to the raw packet data, or nullptr if empty.
size
virtual const inline
virtual inline size_t size() constReturns
Size of the packet data in bytes.
className
virtual const inline
virtual inline const char * className() constReturns the class name of this packet type for logging and diagnostics.
ownsBuffer
const inline
inline bool ownsBuffer() constReturns
True if this packet owns (manages) its data buffer.
Protected Attributes
_data
char * _data_size
size_t _size_owned
std::unique_ptr< char[]> _owned