nl::Weave::Profiles::RetainedPacketBuffer

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

这是一个基类,可充当便捷对象,用于自动引用 System::PacketBuffer 计数。

摘要

继承

String 已知子类:
  nl::Weave::Profiles::BDX_Current::BlockSend
  nl::Weave::Profiles::BDX_Development::BlockSend
  nl::Weave::Profiles::BDX_Development::BlockSendV1nl::Weave::Profiles::MessageIteratornl::Weave::Profiles::ReferencedStringnl::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
对要复制的对象的常量引用。

运算符=

RetainedPacketBuffer & operator=(
  const RetainedPacketBuffer & aRetainedPacketBuffer
)

这是类赋值运算符。

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

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

~RetainedPacketBuffer

 ~RetainedPacketBuffer(
  void
)

这是类析构函数。

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