nl::Weave::Profiles::RetainedPacketBuffer

#include <src/lib/profiles/common/WeaveMessage.h>

这是一个基类,可用作为 System::PacketBuffer 自动引用计数的便捷对象。

摘要

继承

直接已知的子类:
  nl::Weave::Profiles::BDX_Current::BlockSend
  nl::Weave::Profiles::BDX_Development::BlockSend
  nl::Weave::Profiles::BDX_Development::BlockSendV1
  nl::Weave::Profiles::MessageIterator
  nl::Weave::Profiles::ReferencedString
  nl::Weave::Profiles::ReferencedTLVData

构造函数和析构函数

RetainedPacketBuffer(void)
这是类默认 (void) 构造函数。
RetainedPacketBuffer(const RetainedPacketBuffer & aRetainedPacketBuffer)
这是一个类复制构造函数。
~RetainedPacketBuffer(void)
这是类析构函数。

受保护的属性

mBuffer
指向保留的数据包缓冲区的指针。

公共函数

GetBuffer(void)
IsRetaining(void) const
virtual bool
验证此对象是否保留缓冲区。
Release(void)
virtual void
移除对与该对象关联的缓冲区的强引用,使此对象可用于保留另一个缓冲区。
Retain(System::PacketBuffer *aBuffer)
void
创建对指定数据包缓冲区的强引用,并根据需要转移和移除对此对象关联的另一个缓冲区的强引用。
operator=(const RetainedPacketBuffer & aRetainedPacketBuffer)
这是一个类赋值运算符。

受保护的属性

mBuffer

System::PacketBuffer * mBuffer

指向保留的数据包缓冲区的指针。

公共函数

GetBuffer

System::PacketBuffer * GetBuffer(
  void
)

IsRetaining

virtual bool IsRetaining(
  void
) const 

验证此对象是否保留缓冲区。

详细信息
返回值
如果对象保留缓冲区,则为 true;否则为 false

版本

virtual void Release(
  void
)

移除对与该对象关联的缓冲区的强引用,使此对象可用于保留另一个缓冲区。

保留

void Retain(
  System::PacketBuffer *aBuffer
)

创建对指定数据包缓冲区的强引用,并根据需要转移和移除对此对象关联的另一个缓冲区的强引用。

RetainedPacketBuffer

 RetainedPacketBuffer(
  void
)

这是类默认 (void) 构造函数。

RetainedPacketBuffer

 RetainedPacketBuffer(
  const RetainedPacketBuffer & aRetainedPacketBuffer
)

这是一个类复制构造函数。

这会增加引用计数,创建对与复制对象关联的缓冲区的强引用。

详细信息
参数
[in] aRetainedPacketBuffer
对要复制的对象的常量引用。

operator=

RetainedPacketBuffer & operator=(
  const RetainedPacketBuffer & aRetainedPacketBuffer
)

这是一个类赋值运算符。

只要分配的对象不是当前对象,该操作就会创建对与复制对象相关联的缓冲区的强引用,同时,如有必要,还会移除对与此对象关联的缓冲区的强引用。

详细信息
参数
[in,out] aRetainedPacketBuffer
要分配给此对象的只读引用。如果引用对象不是此对象,系统将保留源对象的关联缓冲区,并替换当前关联的缓冲区。
返回值
对当前对象的只读引用。

~RetainedPacketBuffer

 ~RetainedPacketBuffer(
  void
)

这是类析构函数。

它会移除对关联缓冲区的强引用。