nl::Weave::System::Object

#include <src/system/SystemObject.h>

ObjectPool<t, n=""> オブジェクトに含まれているスペースから割り当てられた参照カウントされたオブジェクトを表します。</t,>

概要

注: このクラスのインスタンスは、関連する ObjectPool クラス テンプレートを使用してのみ構築できます。コピー コンストラクタと代入演算子が削除されます。参照カウント システムを使用して、このクラスのインスタンスの保持期間を追跡します。オブジェクトが最初に保持されたときの参照カウントは 1 です。維持率が上がると、参照回数が増える可能性があります。オブジェクトが離されると、参照カウントは減少します。参照カウントがゼロの場合、オブジェクトは再割り当てのためにプールにリサイクルされます。利用できるデストラクタがありません。最終的な保持が解除されてオブジェクトがリサイクルされるときに、カプセル化されたすべてのリソースが解放されるようにサブクラスを設計する必要があります。このクラスは具象クラスとして定義されていますが、Nest C++ スタイルに従って、抽象クラスと見なす必要があります。

継承

直接的な既知のサブクラス:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

保護された型

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< 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

 ReleaseDeferralErrorTactic

< DeferredRelease が kEvent_ReleaseObj の送信に失敗した場合の対応方法。

パブリック属性

AppState

void * AppState

オブジェクトに関連付けられたアプリ固有のデータへの汎用ポインタ。

パブリック関数

IsRetained

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.

参照カウントが 0 に減った場合、オブジェクトをリサイクルしてプールに戻します。デストラクタは呼び出されません。

保持

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

オブジェクトはライブであるとみなされます。

SystemLayer

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.

オブジェクトはライブであるとみなされます。

プロテクト関数

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)