En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl::Weave::Sistema::Objeto

#include <src/system/SystemObject.h>

Representa un objeto contado de referencia asignado desde un espacio contenido en un objeto ObjectPool. n="> </t,&gt

Resumen

Nota: La instancia de esta clase solo se puede construir con la plantilla de clase ObjectPool relacionada. Se borran el constructor de la copia y el operador de asignación. Se usa un sistema de recuento de referencias para realizar un seguimiento de las retenciones de instancias de esta clase. Cuando se retiene inicialmente un objeto, su recuento de referencia es uno. Las retenciones adicionales pueden aumentar la cantidad de referencias. Cuando se libera el objeto, se disminuye el recuento de referencias. Cuando el recuento de referencia es cero, el objeto se recicla al grupo para su reasignación. No hay un destructor disponible. Las subclases deben diseñarse para garantizar que todos los recursos encapsulados se liberen cuando se libere la retención final y se recicle el objeto. Si bien esta clase se define como concreta, de acuerdo con el estilo de Nest C++, debe considerarse como abstracta.

Herencia

Subclases conocidas directas:
nl::Inet::InetLayerBasis
nl::Weave::System::Timer

Tipos protegidos

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< Qué hacer cuando DeferredRelease no publica un kEvent_ReleaseObj.

Atributos públicos

AppState
void *
Puntero genérico para datos específicos de la app asociados con el objeto.

Funciones públicas

IsRetained(const Layer & aLayer) const
bool
Prueba si aLayer retiene este objeto.
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.

Funciones protegidas

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

Tipos protegidos

Lanzamiento de DeferralErrorTactic

 ReleaseDeferralErrorTactic

< Qué hacer cuando DeferredRelease no publica un kEvent_ReleaseObj.

Atributos públicos

Estado de la aplicación

void * AppState

Puntero genérico para datos específicos de la app asociados con el objeto.

Funciones públicas

Está retenido

bool IsRetained(
  const Layer & aLayer
) const 

Prueba si aLayer retiene este objeto.

Tests whether this object is retained by \c aLayer.

Simultaneidad segura

Lanzar

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Vuelve a reciclar el objeto en el grupo si el recuento de referencias se reduce a cero. No se invoca ningún destructor.

Retain

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Se supone que el objeto está activo.

Capa del sistema

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.

Se supone que el objeto está activo.

Funciones protegidas

Lanzamiento diferido

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)