Base module

RawPacket

[RawPacket]({#ref classicy_1_1RawPacket #}) is the default data packet type which consists of an optionally managed char

RawPacket

#include <icy/packet.h>

Inherits: IPacket Subclassed by: MediaPacket, SocketPacket

RawPacket is the default data packet type which consists of an optionally managed char pointer and a size value.

Public Methods

ReturnNameDescription
RawPacket inlineConstruct with borrowed (non-owning) buffer.
RawPacket inlineConstruct with const data (copied, owning).
RawPacket inlineCopy constructor (always copies data).
std::unique_ptr< IPacket >clone virtual const inline#### Returns
voidcopyData virtual inlineCopies data into an internally owned buffer, replacing any prior content.
ssize_tread virtual inlineReads from the buffer by copying its contents into an owned buffer.
voidwrite virtual const inlineAppends the packet data to the given output buffer.
char *data virtual const inline#### Returns
size_tsize virtual const inline#### Returns
const char *className virtual const inlineReturns the class name of this packet type for logging and diagnostics.
boolownsBuffer 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() const

Returns

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

  • data Source data pointer.

  • size Number 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

  • buf Input buffer to read from.

Returns

Number of bytes consumed (equal to buf.size()).


write

virtual const inline

virtual inline void write(Buffer & buf) const

Appends the packet data to the given output buffer.

Parameters

  • buf Buffer to write into.

data

virtual const inline

virtual inline char * data() const

Returns

Mutable pointer to the raw packet data, or nullptr if empty.


size

virtual const inline

virtual inline size_t size() const

Returns

Size of the packet data in bytes.


className

virtual const inline

virtual inline const char * className() const

Returns the class name of this packet type for logging and diagnostics.


ownsBuffer

const inline

inline bool ownsBuffer() const

Returns

True if this packet owns (manages) its data buffer.

Protected Attributes

ReturnNameDescription
char *_data
size_t_size
std::unique_ptr< char[]>_owned

_data

char * _data

_size

size_t _size

_owned

std::unique_ptr< char[]> _owned