nl:: بافت:: سیستم:: شیء
#include <src/system/SystemObject.h>
این نشان دهنده یک شیء شمارش مرجع است که از فضای موجود در یک ObjectPool تخصیص داده شده است
خلاصه
توجه: نمونه این کلاس فقط با استفاده از الگوی کلاس ObjectPool مرتبط ساخته می شود. سازنده کپی و عملگر انتساب حذف می شوند. یک سیستم شمارش مرجع برای ردیابی حفظ نمونه های این کلاس استفاده می شود. هنگامی که یک شی در ابتدا حفظ می شود، تعداد مرجع آن یک است. حفظ اضافی ممکن است تعداد مراجع را افزایش دهد. هنگامی که شی آزاد می شود، تعداد مرجع کاهش می یابد. وقتی تعداد مراجع صفر باشد، شیء برای تخصیص مجدد به استخر بازیافت می شود. هیچ تخریب کننده ای در دسترس نیست. کلاسهای فرعی باید به گونهای طراحی شوند که اطمینان حاصل شود که تمام منابع کپسولهشده با آزاد شدن احتباس نهایی و بازیافت شی آزاد میشوند. در حالی که این کلاس به عنوان بتن تعریف می شود، مطابق با سبک Nest C++، باید به عنوان انتزاعی در نظر گرفته شود.
ارث
زیر کلاس های مستقیم شناخته شده:nl::Inet::InetLayerBasis
nl:: بافت::سیستم::تایمر
انواع محافظت شده | |
---|---|
ReleaseDeferralErrorTactic { | 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
اشاره گر عمومی به داده های خاص برنامه مرتبط با شی.
توابع عمومی
حفظ شده است
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.
فرض می شود که جسم زنده است.
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 )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-08-27 بهوقت ساعت هماهنگ جهانی.