nl::Weave::System::Layer

#include <src/system/SystemLayer.h>

This provides access to timers according to the configured event handling model.

Özet

WEAVE_SYSTEM_CONFIG_USE_SOCKETS için etkinlik hazırlık durumu bildirimi, platform uyarlamasında geleneksel anket/seçim uygulaması aracılığıyla işlenir.

WEAVE_SYSTEM_CONFIG_USE_LWIP için etkinlik hazırlık bildirimi, etkinlikler / mesajlar ve etkinlik/mesaj sistemi için platforma ve sisteme özel kancalar aracılığıyla işlenir.

Oluşturucular ve Yıkıcılar

Layer(void)

Herkese açık türler

EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument) typedef
Error(*
TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError) typedef
void(*

Kamu işlevleri

AddEventHandlerDelegate(LwIPEventHandlerDelegate & aDelegate)
Error
Bu işlem, LwIP etkinliklerini işleme becerisini genişletmek için sistem katmanına bir etkinlik işleyici temsilcisi ekler.
CancelTimer(TimerCompleteFunct aOnComplete, void *aAppState)
void
Bu yöntem, StartTimer() tarihine kadar erken başlatılmış olan tek seferlik zamanlayıcıyı iptal eder.
DispatchEvent(Event aEvent)
Error
Bu işlem, belirtilen etkinliği bu örnek tarafından işlenmek üzere gönderir.
DispatchEvents(void)
Error
Bu, bir etkinlik döngüsünü etkileyen, bu örneğe hizmet veren bir sıranın beklemesi, etkinlikleri sıranın dışına çekme ve ardından işlenmek üzere gönderme işlemlerini gerçekleştiren, platforma özel bir kancayı çevreleyen sözdizimsel bir sarmalayıcıdır.
GetPlatformData(void) const
void *
Bu işlem, örneğe atanmış olan istemciye özel platform verilerini döndürür (örnek daha önce ayarlanmışsa).
HandleEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Bu, bir Weave Sistem Katman etkinliğinin gerçek dağıtımını ve işlemesini uygular.
HandlePlatformTimer(void)
Error
Platform zamanlayıcı süre sonu etkinliğini işleme.
HandleSelectResult(int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
void
Belirli bir görüşmeden G/Ç'yi yönetin.
Init(void *aContext)
Error
NewTimer(Timer *& aTimerPtr)
Error
PostEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Bu işlem, sağlanan bağımsız değişkeni kullanarak bu örneğin platforma özel etkinlik sırasına belirtilen türde bir etkinlik veya mesaj yayınlar.
PrepareSelect(int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
void
select() için kullanılacak dosya açıklayıcı gruplarını hazırlayın.
ScheduleWork(TimerCompleteFunct aComplete, void *aAppState)
Error
TimerCompleteFunct ile aynı imzaya sahip olan bir işlevin, mümkün olan en kısa sürede Weave iş parçacığında çalıştırılmasını planlar.
SetPlatformData(void *aPlatformData)
void
Bu işlem, istemciye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınabilmesi için örneğe ayarlar.
Shutdown(void)
Error
StartTimer(uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
Error
Bu yöntem, tek seferlik bir zamanlayıcı başlatır.
State(void) const
LayerState
Katman nesnesinin mevcut durumunu döndürür.
WakeSelect(void)
void
Uyandırma kanalına tek bir bayt yazarak dosya açıklayıcılarını select() kullanarak izleyen G/Ç iş parçacığını uyandırın.

Herkese açık statik işlevler

GetClock_Monotonic(void)
uint64_t
Mikrosaniye cinsinden monotonik sistem zamanını döndürür.
GetClock_MonotonicHiRes(void)
uint64_t
Mikrosaniye cinsinden (muhtemelen) yüksek çözünürlüklü monotonik sistem zamanını döndürür.
GetClock_MonotonicMS(void)
uint64_t
Milisaniye cinsinden monotonik sistem zamanını döndürür.
GetClock_RealTime(uint64_t & curTime)
Error
Geçerli gerçek (sivil) zamanı mikrosaniye Unix saat biçiminde döndürür.
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
Geçerli gerçek (sivil) zamanı milisaniye Unix saat biçiminde döndürür.
SetClock_RealTime(uint64_t newCurTime)
Error
Platformun geçerli gerçek (resmi) zaman kavramını belirler.

Herkese açık türler

EventHandler

Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)

TimerCompleteFunct

void(* TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)

Kamu işlevleri

AddEventHandlerDelegate

Error AddEventHandlerDelegate(
  LwIPEventHandlerDelegate & aDelegate
)

Bu işlem, LwIP etkinliklerini işleme becerisini genişletmek için sistem katmanına bir etkinlik işleyici temsilcisi ekler.

Ayrıntılar
Parametreler
[in] aDelegate
Başlatılmamış LwIP etkinlik işleyici yetki yapısı yapısı
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Başarılı olun.
WEAVE_SYSTEM_ERROR_BAD_ARGS
aTemsilcide yer alan işlev işaretçisi NULL ise

CancelTimer

void CancelTimer(
  TimerCompleteFunct aOnComplete,
  void *aAppState
)

Bu yöntem, StartTimer() tarihine kadar erken başlatılmış olan tek seferlik zamanlayıcıyı iptal eder.

Ayrıntılar
Parametreler
[in] aOnComplete
StartTimer() çağrısında kullanılan geri çağırma işlevine yönelik işaretçi.
[in] aAppState
StartTimer() çağrısında kullanılan uygulama durumu nesnesine yönelik işaretçi.

DispatchEvent

Error DispatchEvent(
  Event aEvent
)

Bu işlem, belirtilen etkinliği bu örnek tarafından işlenmek üzere gönderir.

Etkinlik türü ve bağımsız değişkenlerinin yeniden düzenlenmesi, platforma özgü bir kanca tarafından işlenir. Ardından, gerçek dağıtım için layer::HandleEvent öğesine geri çağrılması gerekir.

Ayrıntılar
Parametreler
[in] aEvent
İşleme için gönderilecek platforma özgü etkinlik nesnesi.
İadeler
Başarılı durumda WEAVE_SYSTEM_NO_ERROR; aksi takdirde, başlatma hatasının nedenini belirten belirli bir hata.

DispatchEvents

Error DispatchEvents(
  void
)

Bu, bir etkinlik döngüsünü etkileyen, bu örneğe hizmet veren bir sıranın beklemesi, etkinlikleri sıranın dışına çekme ve ardından işlenmek üzere gönderme işlemlerini gerçekleştiren, platforma özel bir kancayı çevreleyen sözdizimsel bir sarmalayıcıdır.

Ayrıntılar
İadeler
Başarılı olduğunda WEAVE_SYSTEM_NO_ERROR. Aksi takdirde başlatma hatasının nedenini belirten belirli bir hata.

GetPlatformData

void * GetPlatformData(
  void
) const 

Bu işlem, örneğe atanmış olan istemciye özel platform verilerini döndürür (örnek daha önce ayarlanmışsa).

Ayrıntılar
İadeler
İstemciye özel platform verileri (daha önce ayarlanmışsa ayarlanırsa NULL).

HandleEvent

Error HandleEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

Bu, bir Weave Sistem Katman etkinliğinin gerçek dağıtımını ve işlemesini uygular.

Ayrıntılar
Parametreler
[in,out] aTarget
Etkinliğin hedeflendiği katman nesnesine başvuru.
[in] aEventType
İşlenecek etkinlik / mesaj türü.
[in] aArgument
Etkinlik veya mesajla ilişkilendirilen bağımsız değişken.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Başarılı olun.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Inettier nesnesinin durumu yanlışsa.
WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
Etkinlik türü tanınmıyorsa.

HandlePlatformTimer

Error HandlePlatformTimer(
  void
)

Platform zamanlayıcı süre sonu etkinliğini işleme.

Çağrılar nl::Weave::Sistem::Zamanlayıcı::Süresi dolmuş olan zamanlayıcılar için geçerlidir. Bu API'nin yalnızca Örgü Sistemi Katman nesnesine sahip olan iş parçacığında çağrıldığı varsayılır.

Ayrıntılar
İadeler
Başarılı olduğunda WEAVE_SYSTEM_NO_ERROR, aksi takdirde hata kodu.

HandleSelectResult

void HandleSelectResult(
  int aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet
)

Belirli bir görüşmeden G/Ç'yi yönetin.

Bu yöntem, her etkin uç noktaya beklemedeki G/Ç etkinliğini kaydeder ve ardından bu uç noktalar için ilgili G/Ç işleme işlevlerini çağırır.

Ayrıntılar
Parametreler
[in] aSetSize
Select çağrısının döndürülen değeri.
[in] aReadSet
Okunan dosya tanımlayıcıları kümesinin işaretçisi.
[in] aWriteSet
Yazma dosyası açıklayıcıları kümesinin işaretçisi.
[in] aExceptionSet
Hatalı dosya tanımlayıcıları grubunun işaretçisi.

Başlat

Error Init(
  void *aContext
)

Katman

 Layer(
  void
)

NewTimer

Error NewTimer(
  Timer *& aTimerPtr
)

PostEvent

Error PostEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

Bu işlem, sağlanan bağımsız değişkeni kullanarak bu örneğin platforma özel etkinlik sırasına belirtilen türde bir etkinlik veya mesaj yayınlar.

Ayrıntılar
Parametreler
[in,out] aTarget
Yayınlama isteğini yapan Weave System Katman nesnesine işaret eden işaretçi.
[in] aEventType
Yayınlanacak etkinliğin türü.
[in,out] aArgument
Yayınlanacak etkinlikle ilişkili bağımsız değişken.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Başarılı olun.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Katman nesnesinin durumu yanlışsa.
WEAVE_SYSTEM_ERROR_NO_MEMORY
Etkinlik kuyruğu zaten doluysa.
other
Başarısızlığın nedenini belirten platforma özel hatalar oluşturuldu.

PrepareSelect

void PrepareSelect(
  int & aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet,
  struct timeval & aSleepTime
)

select() için kullanılacak dosya açıklayıcı gruplarını hazırlayın.

Ayrıntılar
Parametreler
[out] aSetSize
Dosya açıklayıcı grubundaki dosya tanımlayıcıları aralığı.
[in] aReadSet
Okunabilir dosya tanımlayıcıları kümesinin işaretçisi.
[in] aWriteSet
Yazılabilir dosya tanımlayıcıları kümesinin işaretçisi.
[in] aExceptionSet
Hatalı dosya tanımlayıcıları grubunun işaretçisi.
[in] aSleepTime
Maksimum uyku süresine referans.

ScheduleWork

Error ScheduleWork(
  TimerCompleteFunct aComplete,
  void *aAppState
)

TimerCompleteFunct ile aynı imzaya sahip olan bir işlevin, mümkün olan en kısa sürede Weave iş parçacığında çalıştırılmasını planlar.

Ayrıntılar
Parametreler
[in] aComplete
Bu zamanlayıcı etkinleştiğinde çağrılacak bir geri çağırma işlevinin işaretçisi.
[in] aAppState
Geri çağırma işlevine bağımsız değişken olarak geçirilecek, bir uygulama durum nesnesine işaret eden işaretçi.
Döndürülen Değerler
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
SystemKatman başlatılmadıysa:
WEAVE_SYSTEM_ERROR_NO_MEMORY
Systemtier yeni bir zamanlayıcı atayamazsa.
WEAVE_SYSTEM_NO_ERROR
Başarılı olun.

SetPlatformData

void SetPlatformData(
  void *aPlatformData
)

Bu işlem, istemciye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınabilmesi için örneğe ayarlar.

Ayrıntılar
Parametreler
[in] aPlatformData
Ayarlanacak istemciye özel platform verileri.

Kapat

Error Shutdown(
  void
)

StartTimer

Error StartTimer(
  uint32_t aMilliseconds,
  TimerCompleteFunct aComplete,
  void *aAppState
)

Bu yöntem, tek seferlik bir zamanlayıcı başlatır.

Ayrıntılar
Parametreler
[in] aMilliseconds
Milisaniye olarak geçerlilik süresi.
[in] aComplete
Zamanlayıcının süresi dolduğunda çağrılan işlevin işaretçisi.
[in] aAppState
Zamanlayıcının süresi dolduğunda kullanılan uygulama durumu nesnesinin işaretçisi.
İadeler
WEAVE_SYSTEM_NO_ERROR Başarılı olursa.
İadeler
WEAVE_SYSTEM_ERROR_NO_MEMORY Zamanlayıcı atanamazsa.
İadeler
Zamanlayıcıyı gösteren diğer değer başlatılamadı.

Eyalet

LayerState State(
  void
) const 

Katman nesnesinin mevcut durumunu döndürür.

WakeSelect

void WakeSelect(
  void
)

Uyandırma kanalına tek bir bayt yazarak dosya açıklayıcılarını select() kullanarak izleyen G/Ç iş parçacığını uyandırın.

Not: WakeSelect(), HandleSelectResult() içinden çağrılıyorsa G/Ç iş parçacığı zaten uyanık olduğu için uyanık kalma borusuna yazma atlanabilir. Ayrıca, bu yazma işleminin başarısız olmasını önemsemeyiz. Bunun nedeni, olası tek hata borunun dolu olmasıdır. Bu durumda, seçili çağrı yapan iş parçacığı yine de uyanacaktır.

Herkese açık statik işlevler

GetClock_Monotonic

uint64_t GetClock_Monotonic(
  void
)

Mikrosaniye cinsinden monotonik sistem zamanını döndürür.

Bu işlev, platform tanımlı rastgele bir dönemden bu yana geçen süreyi mikrosaniye cinsinden döndürür. Döndürülen değerin, sistem yeniden başlatılmaları arasında sürekli artırılacağı (yani asla sarmalanmayacağı) garanti edilir. Buna ek olarak, temel alınan zaman kaynağının, uyandıktan sonra yeniden başlatmayı gerektirmeyen sistem uyku modları sırasında sürekli olarak ayarlanması garanti edilir.

Bazı platformlar sistem için başlatma işleminden bu yana geçen süreyi ölçen bir değer döndürmeyi seçse de uygulamalar buna dayanmamalıdır. Ayrıca GetClock_Monotonic() sıfır zamanının diğer herhangi bir GetClock... işleviyle aynı olması gerekmez. Bu nedenle, göreli zaman hesaplamaları yalnızca aynı işlev tarafından döndürülen değerler üzerinde yapılabilir.

Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olduğu garanti edilir.

Ayrıntılar
İadeler
Rastgele, platform tanımlı bir dönemden bu yana geçen süre (mikrosaniye cinsinden).

GetClock_MonotonicHiRes

uint64_t GetClock_MonotonicHiRes(
  void
)

Mikrosaniye cinsinden (muhtemelen) yüksek çözünürlüklü monotonik sistem zamanını döndürür.

Bu işlev, platform tanımlı rastgele bir dönemden bu yana geçen süreyi mikrosaniye cinsinden döndürür. Döndürülen değerin, sistem yeniden başlatılmaları arasında sürekli artırılacağı (yani asla sarmalanmayacağı) garanti edilir. Ancak altta yatan zamanlayıcının sistem derin uyku durumları sırasında sürekli olarak ayarlanması gerekmez.

Bazı platformlar, GetClock_MonotonicHiRes() fonksiyonunu GetClock_Monotonic() fonksiyonundan daha yüksek hassasiyette olan ve kademeli saat ayarlamalarına (hazırlık) tabi olmayan yüksek çözünürlüklü bir zamanlayıcı kullanarak uygulayabilir. Böyle bir zamanlayıcısı olmayan sistemler GetClock_Monotonic() işleviyle aynı değeri döndürebilir.

GetClock_MonotonicHiRes() tarafından döndürülen zaman diliminin, GetClock_Monotonic() dahil olmak üzere diğer GetClock... işlevlerinden herhangi biri için aynı olması gerekmez.

Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olduğu garanti edilir.

Ayrıntılar
İadeler
Rastgele, platform tanımlı bir dönemden bu yana geçen süre (mikrosaniye cinsinden).

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

Milisaniye cinsinden monotonik sistem zamanını döndürür.

Bu işlev, platform tanımlı rastgele bir dönemden bu yana geçen süreyi milisaniye cinsinden döndürür. Döndürülen değerin, sistem yeniden başlatılmaları arasında sürekli artırılacağı (yani asla sarmalanmayacağı) garanti edilir. Buna ek olarak, temel alınan zaman kaynağının, uyandıktan sonra yeniden başlatmayı gerektirmeyen sistem uyku modları sırasında sürekli olarak ayarlanması garanti edilir.

Bazı platformlar sistem için başlatma işleminden bu yana geçen süreyi ölçen bir değer döndürmeyi seçse de uygulamalar buna dayanmamalıdır. Ayrıca GetClock_Monotonic() sıfır zamanının diğer herhangi bir GetClock... işleviyle aynı olması gerekmez. Bu nedenle, göreli zaman hesaplamaları yalnızca aynı işlev tarafından döndürülen değerler üzerinde yapılabilir.

Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olduğu garanti edilir.

Ayrıntılar
İadeler
Rastgele, platform tanımlı bir dönemden bu yana geçen süre (milisaniye cinsinden).

GetClock_RealTime

Error GetClock_RealTime(
  uint64_t & curTime
)

Geçerli gerçek (sivil) zamanı mikrosaniye Unix saat biçiminde döndürür.

Bu yöntem, yerel platformun geçerli gerçek zamanlı kavramını döndürür ve mikrosaniyeye ölçeklenmiş Unix zaman değeri olarak ifade edilir. Temel saatin en az tam saniye hızında (1.000.000'lik değerler) ilerlemesi garanti edilir ancak bazı platformlarda daha hızlı çalışabilir.

Temel platform gerçek zamanlı izleme yapabiliyorsa ancak sistem şu anda senkronize edilmemişse GetClock_RealTime() işlevi WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED hatasını döndürür.

Gerçek zamanlı izleme yapamayan platformlarda GetClock_RealTime() yöntemi bulunmayabilir. Bu durumda, söz konusu yönteme başvuruda bulunan uygulamalarda bağlantı hatası oluşabilir. Alternatif olarak, bu tür platformlar, her zaman WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatası veren bir GetClock_RealTime() uygulaması sağlayabilir.

Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olduğu garanti edilir.

Ayrıntılar
Parametreler
[out] curTime
Mikrosaniyeye ölçeklenmiş Unix zamanı olarak ifade edilen geçerli saat.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Yöntem başarılı olup olmadığı.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Platformun gerçek zamanlı izleme özelliği olmasına rağmen şu anda senkronize edilmemişse.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platformun gerçek zamanlı izleme yapamaması.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

Geçerli gerçek (sivil) zamanı milisaniye Unix saat biçiminde döndürür.

Bu yöntem, yerel platformun geçerli gerçek zamanlı kavramını döndürür ve milisaniye cinsinden ölçeklendirilmiş bir Unix zaman değeri olarak ifade edilir. Temel saatin en az tam saniye hızında (1.000.000'lik değerler) ilerlemesi garanti edilir ancak bazı platformlarda daha hızlı çalışabilir.

Temel platform gerçek zamanlı izleme yapabiliyorsa ancak sistem şu anda senkronize edilmemişse GetClock_RealTimeMS() işlevi WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED hatasını döndürür.

Gerçek zamanlı izleme yapamayan platformlarda GetClock_RealTimeMS() yöntemi bulunmayabilir ve bu da, söz konusu yönteme başvuruda bulunan uygulamalarda bağlantı hatasına neden olabilir. Alternatif olarak, bu tür platformlar, her zaman WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatası veren bir GetClock_RealTimeMS() uygulaması sağlayabilir.

Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olduğu garanti edilir.

Ayrıntılar
Parametreler
[out] curTime
Milisaniye cinsinden ölçeklendirilmiş Unix zamanı olarak ifade edilen geçerli saat.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Yöntem başarılı olup olmadığı.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Platformun gerçek zamanlı izleme özelliği olmasına rağmen şu anda senkronize edilmemişse.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platformun gerçek zamanlı izleme yapamaması.

SetClock_RealTime

Error SetClock_RealTime(
  uint64_t newCurTime
)

Platformun geçerli gerçek (resmi) zaman kavramını belirler.

Uygulamalar, yerel platformun geçerli gerçek zamanlı kavramını ayarlamak için bu işlevi çağırabilir. Yeni geçerli saat, mikrosaniyeye ölçeklenmiş bir Unix zaman değeri olarak ifade edilir.

Temel platform saatinin ayarlandıktan sonra, en az tam saniyelik bir ayrıntı düzeyiyle gerçek zamanlı izlemesi garanti edilir.

Bazı platformlar, gerçek zamanlı ayarlanabilecek uygulama veya işlemleri kısıtlayabilir. Arayanın gerçek zamanlı değişikliği yapmasına izin verilmiyorsa SetClock_RealTime() işlevi şu hatayı döndürür: WEAVE_SYSTEM_ERROR_ACCESS_DENIED.

Gerçek zamanlı izleme yapamayan veya gerçek zamanlı ayarlama olanağı sunmayan platformlarda SetClock_RealTime() işlevi bulunmayabilir. Bu işlev, söz konusu işleve başvuruda bulunan uygulamalarda bağlantı hatasına neden olabilir. Alternatif olarak, bu tür platformlar, her zaman WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatası veren bir SetClock_RealTime() uygulaması sağlayabilir.

Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olduğu garanti edilir.

Ayrıntılar
Parametreler
[in] newCurTime
Mikrosaniyeye ölçeklendirilmiş Unix zamanı olarak ifade edilen yeni geçerli saat.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Yöntem başarılı olup olmadığı.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platformun gerçek zamanlı izleme yapamaması.
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
Arama uygulaması geçerli saati ayarlama ayrıcalığına sahip değilse.