nl::Doku::Sistem::Katman

#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 bildirimi, platforma uyum sağlaması için geleneksel anket/seçim uygulaması kullanılarak gerçekleştirilir.

WEAVE_SYSTEM_CONFIG_USE_LWIP için etkinlik hazırlık bildirimi, etkinlikler / mesajlar ile etkinlik/mesaj sistemi için platforma ve sisteme özgü kancalar aracılığıyla ele alınır.

İnşaat Ustaları ve Yıkıcılar

Layer(void)

Herkese açık türler

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

Herkese açık işlevler

AddEventHandlerDelegate(LwIPEventHandlerDelegate & aDelegate)
Error
Bu sayede, LwIP etkinliklerini işleme kapasitesini genişletmek için sistem katmanına bir etkinlik işleyici yetkisi eklenir.
CancelTimer(TimerCompleteFunct aOnComplete, void *aAppState)
void
Bu yöntem, StartTimer() tarihine kadar başlayan tek seferlik bir zamanlayıcıyı iptal eder.
DispatchEvent(Event aEvent)
Error
Bu işlem, belirtilen etkinliği bu örnek tarafından işlenmesi için gönderir.
DispatchEvents(void)
Error
Bu, bir etkinlik döngüsünü etkileyen platforma özgü bir kancanın etrafında yer alan, bu örneğe hizmet eden bir sıranın beklemesi, etkinlikleri bu sıradan çekmesi ve daha sonra, işlenmek üzere göndermesi için kullanılan söz dizimidir.
GetPlatformData(void) const
void *
Bu, daha önce ayarlandıysa, örneğe atanmış istemciye özel platform verilerini döndürür.
HandleEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Bu işlem, Weave System Katman etkinliğinin gerçek gönderilme ve işlenmesini sağlar.
HandlePlatformTimer(void)
Error
Platform zamanlayıcının sona erme etkinliğini yönetin.
HandleSelectResult(int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
void
Seçili görüşmeden G/Ç işlemini gerçekleştirin.
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şkenle birlikte bu örneğe ait platforma özel etkinlik sırasına gönderilen etkinlik türünü / mesajı yayınlar.
PrepareSelect(int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
void
select() için çalışacak dosya açıklayıcı gruplarını hazırlayın.
ScheduleWork(TimerCompleteFunct aComplete, void *aAppState)
Error
Weave ileti dizisinde en kısa sürede çalıştırılacak, imzası TimerCompleteFunct olan bir işlevi programlar.
SetPlatformData(void *aPlatformData)
void
Bu işlem, müşteriye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınacak şekilde ö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
Bu, katman nesnesinin mevcut durumunu döndürür.
WakeSelect(void)
void
Uyanma borusuna tek bir bayt yazarak file() tanımlayıcılarını kullanarak dosya tanımlayıcılarını izleyen I/O ileti dizisini uyandırın.

Herkese açık statik işlevler

GetClock_Monotonic(void)
uint64_t
Mikrosaniye cinsinden mikromononik sistem süresi döndürür.
GetClock_MonotonicHiRes(void)
uint64_t
Mikrosaniye cinsinden (potansiyel olarak) yüksek çözünürlüklü monoton sistem sistemi döndürür.
GetClock_MonotonicMS(void)
uint64_t
Milisaniye cinsinden monotonik sistem süresi döndürür.
GetClock_RealTime(uint64_t & curTime)
Error
Mikro saniye Unix zaman biçiminde geçerli gerçek (nabız) zamanı döndürür.
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
Geçerli (milisaniye) zamanı, milisaniye Unix zaman biçiminde döndürür.
SetClock_RealTime(uint64_t newCurTime)
Error
Platformun gerçek zamanlı (nakit) kavramını belirler.

Herkese açık türler

EventHandler

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

Zamanlayıcı TamamlamaFunct

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

Herkese açık işlevler

AddEventHandlerTemsilcisi

Error AddEventHandlerDelegate(
  LwIPEventHandlerDelegate & aDelegate
)

Bu sayede, LwIP etkinliklerini işleme kapasitesini genişletmek için sistem katmanına bir etkinlik işleyici yetkisi eklenir.

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

Zamanlayıcıyı iptal et

void CancelTimer(
  TimerCompleteFunct aOnComplete,
  void *aAppState
)

Bu yöntem, StartTimer() tarihine kadar başlayan tek seferlik bir zamanlayıcıyı iptal eder.

Ayrıntılar
Parametreler
[in] aOnComplete
StartTimer() çağrısında kullanılan geri çağırma işlevinin işaretçisi.
[in] aAppState
StartTimer() çağrısında kullanılan uygulama durumu nesnesinin işaretçisi.

DispatchEtkinlik

Error DispatchEvent(
  Event aEvent
)

Bu işlem, belirtilen etkinliği bu örnek tarafından işlenmesi için gönderir.

Etkinlik türünde türün ve bağımsız değişkenlerin ayrıştırılması platforma özel bir kanca tarafından gerçekleştirilir. Bu daha sonra asıl dağıtım için Layer::HandleEvent değerine çağrılmalıdır.

Ayrıntılar
Parametreler
[in] aEvent
İşleme için gönderilecek platforma özel etkinlik nesnesi.
İadeler
Başarıyla ilgili WEAVE_SYSTEM_NO_ERROR; aksi halde, başlatma hatasının nedenini belirten belirli bir hata görüntülenir.

Planlama Etkinlikleri

Error DispatchEvents(
  void
)

Bu, bir etkinlik döngüsünü etkileyen platforma özgü bir kancanın etrafında yer alan, bu örneğe hizmet eden bir sıranın beklemesi, etkinlikleri bu sıradan çekmesi ve daha sonra, işlenmek üzere göndermesi için kullanılan söz dizimidir.

Ayrıntılar
İadeler
Başarıyla ilgili WEAVE_SYSTEM_NO_ERROR; aksi halde, başlatma hatasının nedenini belirten belirli bir hata görüntülenir.

GetPlatformData

void * GetPlatformData(
  void
) const 

Bu, daha önce ayarlandıysa, örneğe atanmış istemciye özel platform verilerini döndürür.

Ayrıntılar
İadeler
Daha önce ayarlanmışsa müşteriye özel platform verileri; aksi takdirde BOŞ olacaktır.

Etkinlik Etkinliği

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

Bu işlem, Weave System Katman etkinliğinin gerçek gönderilme ve işlenmesini sağlar.

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

Herkese Açık Kullanıcı Adı

Error HandlePlatformTimer(
  void
)

Platform zamanlayıcının sona erme etkinliğini yönetin.

Tüm süresi dolan zamanlayıcıları işlemek için nl::Weave::System::Zamanlayıcı::Handled Schedules. Bu API'nin yalnızca Weave System layer nesnesinin sahibi olan ileti dizisinde çağrıldığı varsayılır.

Ayrıntılar
İadeler
Başarı için WEAVE_SYSTEM_NO_ERROR, aksi takdirde hata kodu.

Herkese Açık Kullanıcı Seçimi

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

Seçili görüşmeden G/Ç işlemini gerçekleştirin.

Bu yöntem, her etkin uç nokta için 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
Seçili aramanın dönüş değeri.
[in] aReadSet
Okuma dosyası açıklayıcıları grubuna bir işaretçi.
[in] aWriteSet
Yazma dosyası tanımlayıcıları grubuna işaret eden öğeler.
[in] aExceptionSet
Hatalı dosya tanımlayıcılar grubuna işaret eder.

Başlangıç

Error Init(
  void *aContext
)

Katman

 Layer(
  void
)

Yeni Zamanlayıcı

Error NewTimer(
  Timer *& aTimerPtr
)

Etkinlik Sonrası

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

Bu işlem, sağlanan bağımsız değişkenle birlikte bu örneğe ait platforma özel etkinlik sırasına gönderilen etkinlik türünü / mesajı yayınlar.

Ayrıntılar
Parametreler
[in,out] aTarget
Gönderme isteğinde bulunan Weave System layer nesnesinin işaretçisi.
[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ı.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Katman nesnesinin durumu yanlışsa.
WEAVE_SYSTEM_ERROR_NO_MEMORY
Etkinlik sırası zaten doluysa.
other
Başarısız olma nedenini gösteren platforma özgü hatalar.

ChooseSelect

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

select() için çalışacak dosya açıklayıcı gruplarını hazırlayın.

Ayrıntılar
Parametreler
[out] aSetSize
Dosya tanımlayıcısı kümesindeki dosya tanımlayıcılarının aralığı.
[in] aReadSet
Okunabilir dosya tanımlayıcılar grubuna işaret eder.
[in] aWriteSet
Yazılabilir dosya tanımlayıcıları grubuna işaretçi.
[in] aExceptionSet
Hatalı dosya tanımlayıcılar grubuna işaret eder.
[in] aSleepTime
Maksimum uyku süresine başvurudur.

Planlamaİşi

Error ScheduleWork(
  TimerCompleteFunct aComplete,
  void *aAppState
)

Weave ileti dizisinde en kısa sürede çalıştırılacak, imzası TimerCompleteFunct olan bir işlevi programlar.

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 iletilecek uygulama durumu nesnesinin işaretçisi.
Döndürülen Değerler
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
SystemLayer başlatılmadıysa.
WEAVE_SYSTEM_ERROR_NO_MEMORY
SystemLayer yeni bir zamanlayıcı ayıramıyorsa.
WEAVE_SYSTEM_NO_ERROR
Başarılı.

PlatformPlatform Verileri

void SetPlatformData(
  void *aPlatformData
)

Bu işlem, müşteriye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınacak şekilde örneğe ayarlar.

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

Kapat

Error Shutdown(
  void
)

Zamanlayıcı

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 süre sonu.
[in] aComplete
Zamanlayıcının süresi dolduğunda çağrılan işlev işaretçisi.
[in] aAppState
Zamanlayıcının süresi dolduğunda kullanılan uygulama durumu nesnesine ait bir işaretçi.
İadeler
Başarılı yüklemede WEAVE_SYSTEM_NO_ERROR.
İadeler
Bir zamanlayıcı ayrılamıyorsa WEAVE_SYSTEM_ERROR_NO_MEMORY.
İadeler
Zamanlayıcının başlatılamadığını gösteren Diğer Değer.

Durum

LayerState State(
  void
) const 

Bu, katman nesnesinin mevcut durumunu döndürür.

Uyandırma Seçimi

void WakeSelect(
  void
)

Uyanma borusuna tek bir bayt yazarak file() tanımlayıcılarını kullanarak dosya tanımlayıcılarını izleyen I/O ileti dizisini uyandırın.

Not: WakeSelect(), HandleSelectResult() içinde aranıyorsa G/Ç ileti dizisi zaten uyanık olduğu için uyanma hattına yazma işlemi atlanabilir. Ayrıca, bu yazma işleminin başarısız olup olmadığını da önemsemeyiz. Çünkü, büyük olasılıkla tek hata, borunun dolu olmasıdır. Bu durumda, seçili çağrı dizisi yine de uyandırılacaktır.

Herkese açık statik işlevler

GetClock_Motonik

uint64_t GetClock_Monotonic(
  void
)

Mikrosaniye cinsinden mikromononik sistem süresi döndürür.

Bu işlev, platform tarafından rastgele seçilen bir dönemden sonra mikrosaniye olarak geçen bir süre döndürür. Döndürülen değerin, sistem yeniden başlatmaları arasında sürekli olarak artacağı (yani asla sarmalanmayacağı) garanti edilir. Ayrıca, temeldeki saat kaynağının uyandıktan sonra yeniden başlatma gerektirmeyen herhangi bir sistem uyku modu sırasında sürekli olarak tıklanacağı garanti edilir.

Bazı platformlar, sistemin başlatılmasından itibaren geçen süreyi ölçen bir değer döndürmeyi tercih etse de uygulamalar bunu kullanmamalıdır. Ayrıca, GetClock_Monotonic() için Epoch'un diğer GetClock... işlevlerinden herhangi biriyle aynı olması zorunlu değildir. Bu nedenle, göreli zaman hesaplamaları yalnızca aynı işlev tarafından döndürülen değerlerde gerçekleştirilebilir.

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

Ayrıntılar
İadeler
Rastgele, platform tarafından tanımlanmış bir dönemden bu yana geçen, mikro saniye cinsinden geçen süre.

GetClock_MonotonicHiRes

uint64_t GetClock_MonotonicHiRes(
  void
)

Mikrosaniye cinsinden (potansiyel olarak) yüksek çözünürlüklü monoton sistem sistemi döndürür.

Bu işlev, platform tarafından rastgele seçilen bir dönemden sonra mikrosaniye olarak geçen bir süre döndürür. Döndürülen değerin, sistem yeniden başlatmaları arasında sürekli olarak artacağı (yani asla sarmalanmayacağı) garanti edilir. Ancak, sistemin derin uyku durumları sırasında sürekli zamanlayıcının işaretlenmesi için temel alınan zamanlayıcı gerekmez.

Bazı platformlar, GetClock_Monotonic() işlevinden daha yüksek hassasiyete sahip, yüksek çözünürlüklü bir zamanlayıcı kullanarak GetClock_MonotonicHiRes() uygulayabilir. Bu da kademeli saat ayarlamalarına tabi değildir (değişim). Zamanlayıcısı olmayan sistemler sadece GetClock_Monotonic() ile aynı değeri döndürebilir.

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

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

Ayrıntılar
İadeler
Rastgele, platform tarafından tanımlanmış bir dönemden bu yana geçen, mikro saniye cinsinden geçen süre.

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

Milisaniye cinsinden monotonik sistem süresi döndürür.

Bu işlev, rastgele bir platform tanımlı dönemden beri geçen süreyi milisaniye cinsinden döndürür. Döndürülen değerin, sistem yeniden başlatmaları arasında sürekli olarak artacağı (yani asla sarmalanmayacağı) garanti edilir. Ayrıca, temeldeki saat kaynağının uyandıktan sonra yeniden başlatma gerektirmeyen herhangi bir sistem uyku modu sırasında sürekli olarak tıklanacağı garanti edilir.

Bazı platformlar, sistemin başlatılmasından itibaren geçen süreyi ölçen bir değer döndürmeyi tercih etse de uygulamalar bunu kullanmamalıdır. Ayrıca, GetClock_Monotonic() için Epoch'un diğer GetClock... işlevlerinden herhangi biriyle aynı olması zorunlu değildir. Bu nedenle, göreli zaman hesaplamaları yalnızca aynı işlev tarafından döndürülen değerlerde gerçekleştirilebilir.

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

Ayrıntılar
İadeler
Rastgele, platform tarafından tanımlanmış bir dönemden bu yana geçen milisaniye cinsinden süre.

GetClock_Gerçek Zamanlı

Error GetClock_RealTime(
  uint64_t & curTime
)

Mikro saniye Unix zaman biçiminde geçerli gerçek (nabız) zamanı döndürür.

Bu yöntem, yerel platformun geçerli gerçek zamanlı kavramını (Mix-saniye cinsinden ölçeklendirilmiş bir Unix zaman değeri olarak ifade eder) döndürür. Temel alınan saatin en az tam saniye hızında (1.000.000 değer) işaretleneceği garanti edilir ancak bazı platformlarda daha hızlı işaretlenebilir.

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

Gerçek zamanlı izleme yapamayan platformlarda GetClock_RealTime() yöntemi eksik olabilir ve bu yönteme referans veren tüm uygulamalar için bağlantı hatası oluşabilir. Alternatif olarak, bu tür platformlar her zaman WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatası döndüren bir GetClock_RealTime() uygulaması sağlayabilir.

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

Ayrıntılar
Parametreler
[out] curTime
Unix saati, mikrosaniye olarak ölçeklendirilmiş geçerli zaman.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Yöntem başarılı olursa.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Platform gerçek zamanlı izleme yapabiliyorsa ancak şu anda senkronize edilmemişse.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platform gerçek zamanlı izleyemiyorsa.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

Geçerli (milisaniye) zamanı, milisaniye Unix zaman biçiminde döndürür.

Bu yöntem, yerel platformun güncel gerçek zamanlı kavramını döndürür. Unix zaman değeri milisaniye olarak ölçeklendirilir. Temel alınan saatin en az tam saniye hızında (1.000.000 değer) işaretleneceği garanti edilir ancak bazı platformlarda daha hızlı işaretlenebilir.

Temel platform gerçek zamanlı izleme yapabiliyorsa ancak sistem şu anda senkronize edilmemişse GetClock_RealTimeMS(), WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED hatası verir.

Gerçek zamanlı izleme yapamayan platformlarda GetClock_RealTimeMS() yöntemi eksik olabilir ve bu yönteme referans veren tüm uygulamalar için bağlantı hatası oluşabilir. 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 ileti dizisi açısından güvenli olduğu garanti edilir.

Ayrıntılar
Parametreler
[out] curTime
Unix saati, milisaniye olarak ölçeklendirilmiş olarak ifade edilir.
Döndürülen Değerler
WEAVE_SYSTEM_NO_ERROR
Yöntem başarılı olursa.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Platform gerçek zamanlı izleme yapabiliyorsa ancak şu anda senkronize edilmemişse.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platform gerçek zamanlı izleyemiyorsa.

SetClock_Gerçek Zamanlı

Error SetClock_RealTime(
  uint64_t newCurTime
)

Platformun gerçek zamanlı (nakit) kavramını belirler.

Uygulamalar yerel platformun mevcut gerçek zamanlı kavramını belirlemek için bu işlevi çağırabilir. Yeni geçerli zaman, mikrosaniye cinsinden ölçeklendirilmiş bir Unix zaman değeri olarak ifade edilir.

Ayarlandıktan sonra, temel platform saatinin en az tam saniye cinsinden ayrıntı düzeyiyle gerçek zamanlı olarak izlenmesi garanti edilir.

Bazı platformlar gerçek zamanlı olarak ayarlanabilecek uygulamaları veya işlemleri kısıtlayabilir. Arayanın gerçek zamanlı olarak değişiklik yapmasına izin verilmezse SetClock_RealTime() işlevi WEAVE_SYSTEM_ERROR_ACCESS_DENIED hatası döndürür.

Gerçek zamanlı izleme yapamayan veya gerçek zamanlı ayarlama olanağı sunmayan platformlarda, SetClock_RealTime() işlevi eksik olabilir ve bu durumda, kendisine referans veren tüm uygulamalar için bir bağlantı hatası ortaya çıkabilir. Alternatif olarak, bu tür platformlar her zaman WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatası döndüren SetClock_RealTime() uygulaması sağlayabilir.

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

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