nl::Weave::系统::对象

#include <src/system/SystemObject.h>

这表示从 ObjectPool&t;t, n=""> 对象中的空间分配的引用计数对象。&t;/t,>

摘要

注意:此类的实例只能使用相关的 ObjectPool 类模板进行构建。副本构造函数和分配运算符会被删除。引用计数系统用于跟踪此类的实例的保留情况。最初保留对象时,其引用计数为 1。其他保留时长可能会增加参考文件的数量。释放该对象时,引用计数会减少。当引用计数为零时,对象将被回收回池中以进行重新分配。没有可用的析构函数。子类必须确保在最终保留释放且对象回收时释放所有封装资源。虽然该类被定义为具体的,但符合 Nest C++ 样式,但应将其视为抽象类。

继承

直接已知子类
nl::Inet::InetLayerBasis
nl::Weave::System::计时器

受保护的类型

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
枚举
< 当 DeferredRelease 无法发布 kEvent_ReleaseObj 时该怎么做。

公共属性

AppState
void *
指向与对象关联的应用专属数据的通用指针。

公共函数

IsRetained(const Layer & aLayer) const
bool
测试 aLayer 是否保留此对象。
Release(void)
void
Decrements the reference count for the Weave System Layer object.
Retain(void)
void
Increments the reference count for the Weave System Layer object.
SystemLayer(void) const
Layer &
Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding
object pool instance.

受保护的函数

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

受保护的类型

发布延迟错误处理

 ReleaseDeferralErrorTactic

< 当 DeferredRelease 无法发布 kEvent_ReleaseObj 时该怎么做。

公共属性

应用状态

void * AppState

指向与对象关联的应用专属数据的通用指针。

公共函数

保留

bool IsRetained(
  const Layer & aLayer
) const 

测试 aLayer 是否保留此对象。

Tests whether this object is retained by \c aLayer.

并发安全。

版本

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

如果引用计数减少为零,则将对象回收回池。不会调用任何析构函数。

保留

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

假定对象是实时对象。

系统层

Layer & SystemLayer(
  void
) const 

Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding
object pool instance.

假定对象是实时对象。

受保护的函数

延迟释放

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)