STUN module (rfc5389)

UInt64Attribute

Implements a STUN/TURN attribute that holds a 64-bit integer.

UInt64Attribute

#include <icy/stun/attributes.h>

Inherits: Attribute

Implements a STUN/TURN attribute that holds a 64-bit integer.

Public Methods

ReturnNameDescription
UInt64Attribute#### Parameters
UInt64AttributeCopy constructor.
std::unique_ptr< Attribute >clone virtualReturns a deep copy of this attribute.
uint64_tvalue const inline#### Returns
voidsetValue inlineSets the stored 64-bit value.
boolgetBit constReturns the state of a single bit within the stored quad-word.
voidsetBitSets or clears a single bit within the stored quad-word.
voidread virtualReads the body (not the type or size) for this type of attribute from the given buffer.
voidwrite virtual constWrites the body (not the type or size) to the given buffer.

UInt64Attribute

UInt64Attribute(uint16_t type)

Parameters

  • type Wire type code for the concrete attribute.

UInt64Attribute

UInt64Attribute(const UInt64Attribute & r)

Copy constructor.


clone

virtual

virtual std::unique_ptr< Attribute > clone()

Returns a deep copy of this attribute.


value

const inline

inline uint64_t value() const

Returns

The stored 64-bit value.


setValue

inline

inline void setValue(uint64_t bits)

Sets the stored 64-bit value.

Parameters

  • bits Value to store.

getBit

const

bool getBit(int index) const

Returns the state of a single bit within the stored quad-word.

Parameters

  • index Bit position (0 = LSB, 63 = MSB).

Returns

true if the bit is set.


setBit

void setBit(int index, bool value)

Sets or clears a single bit within the stored quad-word.

Parameters

  • index Bit position (0 = LSB, 63 = MSB).

  • value true to set, false to clear.


read

virtual

virtual void read(BitReader & reader)

Reads the body (not the type or size) for this type of attribute from the given buffer.

Parameters

  • reader Source bit reader positioned at the attribute body.

write

virtual const

virtual void write(BitWriter & writer) const

Writes the body (not the type or size) to the given buffer.

Parameters

  • writer Destination bit writer.

Public Static Attributes

ReturnNameDescription
constexpr uint16_tSize static

Size

static

constexpr uint16_t Size = 8

Private Attributes

ReturnNameDescription
uint64_t_bits

_bits

uint64_t _bits