จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

ไม่มี:: สาน:: โปรไฟล์:: เวลา:: TimeSyncNode

สรุป

มรดก

สืบทอดจาก: NL :: สาน :: โปรไฟล์ :: เวลา :: _ TimeSyncNodeBase

ตัวสร้างและตัวทำลาย

TimeSyncNode (void)
mBootTimeForNextAutoDiscovery_usec
timesync_t
mIsAutoSyncEnabled
bool
สถานะที่ใช้สำหรับคุณสมบัติการซิงค์อัตโนมัติ
mIsUrgentDiscoveryPending
bool
mNominalDiscoveryPeriod_msec
int32_t
mShortestDiscoveryPeriod_msec
int32_t
mSyncPeriod_msec
int32_t
mActiveContact
บริบทการสื่อสาร
mExchangeContext
mUnadjTimestampLastSent_usec
timesync_t
EnterState_Discover (void)
void
ฟังก์ชันการเปลี่ยนสถานะเหล่านี้เป็นฟังก์ชันภายในและไม่สามารถส่งคืนรหัสข้อผิดพลาดได้ เนื่องจากสถานะก่อนหน้าจะไม่มีทางจัดการได้
EnterState_ServiceSync_1 (void)
void
EnterState_ServiceSync_2 (void)
void
EnterState_Sync_1 (void)
void
EnterState_Sync_2 (void)
void

ประเภทสาธารณะ

ClientState enum
สถานะปัจจุบันของไคลเอ็นต์การซิงค์เวลานี้
CommState enum
สถานะของการสื่อสารไปยังผู้ติดต่อบางคน
ContributorFilter )(void *const aApp, Contact aContact[], const int aSize) typedef
void(*
การโทรกลับจะเกิดขึ้นก่อนที่เราจะคำนวณการแก้ไขเวลาจากการตอบกลับ
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) typedef
bool(*
โทรกลับเพื่อระบุว่าเราเพิ่งได้รับคำขอซิงค์เวลา
ResponseStatus enum
สถานะของการตอบกลับที่เก็บไว้กับผู้ติดต่อบางราย
ServerState {
kServerState_UnreliableAfterBoot ,
kServerState_Idle
}
enum
สถานะปัจจุบันของ Time Sync Server นี้
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
การโทรกลับเกิดขึ้นเมื่อถือว่าการซิงค์ล้มเหลว รวมถึงการซิงค์อัตโนมัติ
SyncSucceededHandler )(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) typedef
bool(*
การโทรกลับจะเกิดขึ้นหลังจากการซิงค์ถือว่าสำเร็จ รวมถึงการซิงค์อัตโนมัติ แต่ก่อนที่จะนำผลลัพธ์ไปใช้
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) typedef
void(*
โทรกลับเพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

คุณลักษณะสาธารณะ

FilterTimeCorrectionContributor
OnSyncFailed
OnSyncRequestReceived
หากไม่ได้ตั้งค่าไว้ การใช้งานเริ่มต้นจะคืนค่า true . เสมอ
OnSyncSucceeded
หากไม่ได้ตั้งค่าไว้ การทำงานเริ่มต้นจะรับผลลัพธ์ทั้งหมด ยกเว้นการแก้ไขเซิร์ฟเวอร์ที่มีขนาดเล็กมาก
OnTimeChangeNotificationReceived
mEncryptionType
uint8_t
วิธีการเข้ารหัสสำหรับการสื่อสารในท้องถิ่น
mKeyId
uint16_t
รหัสรหัสที่ใช้สำหรับการสื่อสารในท้องถิ่น

คุณสมบัติที่ได้รับการป้องกัน

mApp
void *
ตัวชี้ไปยังชั้นข้อมูลที่สูงขึ้น
mClientState
mConnectionToService
การเชื่อมต่อ TCP ที่ใช้ในการพูดคุยกับบริการ
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
ติดต่อ ข้อมูลได้เรียนรู้ตลอดการค้นพบ
mIsAlwaysFresh
bool
mIsInCallback
bool
จริงถ้าเรากำลังโทรกลับไปยังเลเยอร์ที่สูงกว่า
mLastLikelihoodSent
int8_t
mNumContributorInLastLocalSync
uint8_t
mRole
TimeSyncRole
บทบาทที่แท้จริงของโหนดนี้
mServerState
mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t
โปรดทราบว่าจะต้องเป็นเวลาบูตเพราะเราต้องการการชดเชยเวลานอน
mTimestampLastLocalSync_usec
timesync_t
โปรดทราบว่าจะต้องเป็นเวลาบูตเพราะเราต้องการการชดเชยเวลานอน

งานสาธารณะ

Abort (void)
บังคับเครื่องยนต์ให้กลับสู่สถานะเดินเบา ยกเลิกการทำงานใดๆ ที่กำลังทำอยู่
DisableAutoSync (void)
void
ปิดใช้งานการซิงค์อัตโนมัติ
EnableAutoSync (const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
เปิดใช้งานการซิงค์อัตโนมัติ
GetCapacityOfContactList (void) const
int
getter ง่าย ๆ สำหรับจำนวนผู้ติดต่อสูงสุดที่เอ็นจิ้นนี้ได้รับการกำหนดค่าให้จัดเก็บ
GetClientState (void) const
getter ง่าย ๆ สำหรับสถานะลูกค้า
GetNextLikelihood (void) const
int8_t
ดึงความน่าจะเป็นที่จะคงอยู่
GetServerState (void) const
getter ง่าย ๆ สำหรับสถานะเซิร์ฟเวอร์
InitClient (void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
เริ่มต้นไคลเอนต์นี้
InitCoordinator ( nl::Weave::WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
เริ่มต้นผู้ประสานงานนี้
InitServer (void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
initialize สำหรับบทบาทเซิร์ฟเวอร์จะต้องถูกเรียกเป็นฟังก์ชันแรกหลังจากสร้างอ็อบเจ็กต์หากตั้งใจจะเป็น Time Sync Server
MulticastTimeChangeNotification (const uint8_t aEncryptionType, const uint16_t aKeyId) const
void
เรียกโดยเลเยอร์ที่สูงกว่าเพื่อแจ้งเตือนการเปลี่ยนแปลงเวลาแบบหลายผู้รับ
RegisterCorrectionFromServerOrNtp (void)
void
เรียกโดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งเสร็จสิ้นการซิงค์รอบเวลากับเซิร์ฟเวอร์ใด ๆ หรือผ่านวิธีการที่เชื่อถือได้เช่น NTP
RegisterLocalSyncOperation (const uint8_t aNumContributor)
void
เรียกโดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งเสร็จสิ้นการซิงค์รอบเวลากับผู้ประสานงานในพื้นที่อื่น
Shutdown (void)
หยุดบริการไม่ว่าจะมีบทบาทใด
Sync (const bool aForceDiscoverAgain)
ซิงค์โดยใช้รายชื่อที่มีอยู่
SyncWithNodes (const int16_t aNumNode, const ServingNode aNodes[])
ซิงค์โดยใช้รายชื่อผู้ติดต่อที่กำหนด
SyncWithService ( WeaveConnection *const aConnection)
ซิงค์โดยใช้การเชื่อมต่อ TCP ที่กำหนดและการเข้ารหัสที่เกี่ยวข้องและรหัสคีย์

ฟังก์ชันที่ได้รับการป้องกัน

AbortOnError (const WEAVE_ERROR aCode)
void
ยกเลิกภายในหาก aCode ไม่ใช่ WEAVE_NO_ERROR
AutoSyncNow (void)
void
ฟังก์ชั่นภายในเพื่อเริ่มเซสชันการซิงค์อัตโนมัติ
CallbackForSyncCompletion (const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec)
ชักนำให้โทรกลับไปยังชั้นแอปพลิเคชัน
ClearState (void)
void
DestroyCommContext (void)
bool
ปิดสาน ExchangeContext
EndLocalSyncAndTryCalculateTimeFix (void)
void
EndServiceSyncAndTryCalculateTimeFix (void)
void
FindReplaceableContact (const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
คืนช่องเพื่อเก็บข้อมูลการติดต่อ
GetClientStateName (void) const
const char *const
GetNextIdleContact (void)
รับการติดต่อที่ถูกต้องและไม่ได้ใช้งานต่อไปเพื่อพูดคุยกับ
GetNumNotYetCompletedContacts (void)
int16_t
รับจำนวนผู้ติดต่อที่ถูกต้อง แต่เรายังไม่ได้พูดคุยกับพวกเขา
GetNumReliableResponses (void)
int16_t
รับจำนวนคำตอบที่ 'เชื่อถือได้' รวบรวมมาจนถึงตอนนี้
InitState (const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
InvalidateAllContacts (void)
void
ทำให้ผู้ติดต่อในพื้นที่ทั้งหมดเป็นโมฆะ
InvalidateServiceContact (void)
void
ทำให้การติดต่อกับบริการเป็นโมฆะ
RegisterCommError ( Contact *const aContact)
void
ลงทะเบียนข้อผิดพลาดในการสื่อสารในผู้ติดต่อบางราย และลดระยะเวลาการค้นหาอัตโนมัติหากจำเป็น ผู้ติดต่ออาจเป็น NULL เพื่อระบุว่าเราไม่มีใครคุยด้วย และด้วยเหตุนี้จึงลดระยะเวลาการค้นหาอัตโนมัติ
SendSyncRequest (bool *const rIsMessageSent, Contact *const aContact)
ส่งคำขอซิงค์ unicast ไปยังผู้ติดต่อ
SetAllCompletedContactsToIdle (void)
int16_t
รีเซ็ตผู้ติดต่อที่เสร็จสมบูรณ์ทั้งหมดเป็นสถานะว่างอีกครั้ง แต่อย่าแตะต้องการตอบสนอง
SetAllValidContactsToIdleAndInvalidateResponse (void)
int16_t
ตั้งค่าผู้ติดต่อในพื้นที่ที่ถูกต้องทั้งหมดเป็นสถานะไม่ได้ใช้งานและล้างการตอบกลับ
SetClientState (const ClientState state)
void
SetupUnicastCommContext ( Contact *const aContact)
สร้าง Weave Exchange ใหม่สำหรับการสื่อสารแบบ unicast
StoreNotifyingContact (const uint64_t aNodeId, const IPAddress & aNodeAddr)
void
เก็บข้อมูลการติดต่อของโหนดที่เพิ่งส่งการแจ้งเตือนการเปลี่ยนแปลงเวลาถึงเรา
UpdateMulticastSyncResponse (const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
void
ประมวลผลการตอบสนองที่กลับมาจากคำขอหลายผู้รับ
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse)
void
ประมวลผลการตอบสนองที่กลับมาจากคำขอ unicastcast
_InitClient (const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
เริ่มต้นสำหรับบทบาทลูกค้า
_InitServer (const bool aIsAlwaysFresh)
เริ่มต้นสำหรับบทบาทเซิร์ฟเวอร์
_ShutdownClient (void)
หยุดไคลเอ็นต์ไม่พร้อมใช้งานในการโทรกลับ
_ShutdownCoordinator (void)
หยุดผู้ประสานงานที่ไม่สามารถโทรกลับได้
_ShutdownServer (void)
หยุดเซิร์ฟเวอร์ไม่พร้อมใช้งานในการเรียกกลับ

ฟังก์ชั่นป้องกันไฟฟ้าสถิตย์

HandleAutoDiscoveryTimeout ( System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
HandleAutoSyncTimeout ( System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
HandleMulticastResponseTimeout ( System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
HandleMulticastSyncResponse ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
HandleSyncRequest ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
โทรกลับจาก Weave Exchange เมื่อคำขอซิงค์เวลามาถึง time
HandleTimeChangeNotification ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
HandleUnicastResponseTimeout ( ExchangeContext *const ec)
void
HandleUnicastSyncResponse ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
HandleUnreliableAfterBootTimer ( System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
โทรกลับจาก Weave Timer เมื่อเราผ่านอุปสรรคการบูตที่ไม่น่าเชื่อถือ
IsOperationalState ( ClientState aState)
bool
กำหนดว่าสถานะที่กำหนดนั้นใช้งานได้หรือไม่
_OnSyncSucceeded (void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
bool

mBootTimeForNextAutoDiscovery_usec

timesync_t mBootTimeForNextAutoDiscovery_usec

mIsAutoSyncEnabled

bool mIsAutoSyncEnabled

สถานะที่ใช้สำหรับคุณสมบัติการซิงค์อัตโนมัติ

mIsUrgentDiscoveryรอดำเนินการ

bool mIsUrgentDiscoveryPending

mNominalDiscoveryPeriod_msec

int32_t mNominalDiscoveryPeriod_msec

mShortestDiscoveryPeriod_msec

int32_t mShortestDiscoveryPeriod_msec

mSyncPeriod_msec

int32_t mSyncPeriod_msec

mActiveContact

Contact * mActiveContact

บริบทการสื่อสาร

mExchangeContext

ExchangeContext * mExchangeContext

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

EnterState_Discover

void EnterState_Discover(
  void
)

ฟังก์ชันการเปลี่ยนสถานะเหล่านี้เป็นฟังก์ชันภายในและไม่สามารถส่งคืนรหัสข้อผิดพลาดได้ เนื่องจากสถานะก่อนหน้าจะไม่มีทางจัดการได้

ความล้มเหลวใด ๆ จะส่งผลให้เกิดการเปลี่ยนสถานะอื่นในที่สุด (อาจเป็นการหมดเวลา) หากแม้ตัวจับเวลาล้มเหลว เราก็หมดกลอุบายและอาจค้างอยู่ในสถานะที่ไม่ถูกต้อง

EnterState_ServiceSync_1

void EnterState_ServiceSync_1(
  void
)

EnterState_ServiceSync_2

void EnterState_ServiceSync_2(
  void
)

EnterState_Sync_1

void EnterState_Sync_1(
  void
)

EnterState_Sync_2

void EnterState_Sync_2(
  void
)

ประเภทสาธารณะ

ClientState

 ClientState

สถานะปัจจุบันของไคลเอ็นต์การซิงค์เวลานี้

CommState

 CommState

สถานะของการสื่อสารไปยังผู้ติดต่อบางคน

นี่คือในที่สาธารณะเพราะ ติดต่อ เป็นในที่สาธารณะ

ContributorFilter

void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)

การโทรกลับจะเกิดขึ้นก่อนที่เราจะคำนวณการแก้ไขเวลาจากการตอบกลับ

เลเยอร์แอปพลิเคชันสามารถเขียนทับ aContact[i].mResponseStatus ไปที่ kResponseStatus_Invalid เพื่อให้การตอบกลับถูกละเว้นในการคำนวณ

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aContact
อาร์เรย์ของผู้ติดต่อและสถานะการตอบกลับ
[in] aSize
จำนวนเรคคอร์ดในอาร์เรย์ aContact

OnSyncRequestReceivedHandler

bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)

โทรกลับเพื่อระบุว่าเราเพิ่งได้รับคำขอซิงค์เวลา

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aMsgInfo
WeaveMessageInfo มีข้อมูลเกี่ยวกับการร้องขอซิงค์เวลาได้รับรวมทั้งข้อมูลเกี่ยวกับผู้ส่ง
[in] aLikelyhood
ความน่าจะเป็นของการตอบสนองตามที่ร้องขอโดยผู้ริเริ่ม
[in] aIsTimeCoordinator
true ถ้าโหนดต้นทางคือ Time Sync Coordinator
คืนสินค้า
เท็จและเครื่องยนต์จะเพิกเฉยต่อคำขอนี้

สถานะการตอบกลับ

 ResponseStatus

สถานะของการตอบกลับที่เก็บไว้กับผู้ติดต่อบางราย

นี่คือในที่สาธารณะเพราะ ติดต่อ เป็นในที่สาธารณะ

สถานะเซิร์ฟเวอร์

 ServerState

สถานะปัจจุบันของ Time Sync Server นี้

คุณสมบัติ
kServerState_Idle

เซิร์ฟเวอร์พร้อมที่จะตอบสนองต่อการร้องขอด้วยการตั้งค่าปกติ

kServerState_UnreliableAfterBoot

เวลาที่สงวนไว้สำหรับเซิร์ฟเวอร์เพื่อซิงค์เวลาของระบบผ่านวิธีการอื่นที่มีความหมายก็ต่อเมื่อ aIsAlwaysFresh เป็นจริงเมื่อมีการเรียก Init

SyncFailedHandler

void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)

การโทรกลับเกิดขึ้นเมื่อถือว่าการซิงค์ล้มเหลว รวมถึงการซิงค์อัตโนมัติ

โปรดทราบว่าการโทรกลับจะไม่เกิดขึ้นหากมีการเรียก Abort เพื่อหยุดการซิงค์

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aErrorCode
สาเหตุของความล้มเหลว

SyncSucceededHandler

bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)

การโทรกลับจะเกิดขึ้นหลังจากการซิงค์ถือว่าสำเร็จ รวมถึงการซิงค์อัตโนมัติ แต่ก่อนที่จะนำผลลัพธ์ไปใช้

โปรดทราบว่าความสำเร็จไม่ได้หมายความว่าเรามีผลลัพธ์ที่เกี่ยวข้อง ในกรณีที่ไม่ได้รับการตอบกลับ aNumContributor จะถูกตั้งค่าเป็น 0 เลเยอร์แอปพลิเคชันสามารถเขียนทับ aContact[i].mResponseStatus เป็น kResponseStatus_Invalid เพื่อให้การตอบกลับถูกละเว้นในการคำนวณ

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aOffsetUsec
จำนวนการแก้ไขในการใช้งานc
[in] aIsReliable
คือการแก้ไขที่ถือว่าเชื่อถือได้โดยตรรกะในตัว
[in] aIsServer
การแก้ไขมาจากเซิร์ฟเวอร์หรือไม่
[in] aNumContributor
จำนวนโหนดที่สนับสนุนการแก้ไขนี้ 0 หมายความว่าไม่มีผลลัพธ์จากการซิงค์
คืนสินค้า
จริงหากจะใช้ออฟเซ็ตนี้เพื่อปรับเวลาของระบบ ในกรณีที่ aNumContributor เป็น 0 ค่าที่ส่งกลับจะถูกละเว้น

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)

โทรกลับเพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

หากเปิดใช้งานโหมดซิงค์อัตโนมัติ การซิงค์เวลาจะถูกกำหนดเวลาไม่นานหลังจากการเรียกกลับนี้โดยอัตโนมัติ มิฉะนั้น เลเยอร์แอปพลิเคชันสามารถเลือกที่จะเรียกใช้ฟังก์ชันตระกูล Sync เพื่อเริ่มต้นการดำเนินการซิงค์โดยตรง ซึ่งไม่ถูกจำกัดโดยกฎปกติที่ไม่มีในการโทรกลับ อย่างไรก็ตาม ต้องสังเกตว่าการเรียกกลับพิเศษนี้ยังคงอยู่บนสแต็กการโทรกลับของเลเยอร์การแลกเปลี่ยน Weave

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์แอป ตั้งค่าใน Init
[in] aNodeId
ขอรหัสโหนด
[in] aNodeAddr
ขอที่อยู่โหนด

คุณลักษณะสาธารณะ

ผู้สนับสนุนการแก้ไขเวลาตัวกรอง

ContributorFilter FilterTimeCorrectionContributor

OnSyncFailed

SyncFailedHandler OnSyncFailed

OnSyncRequestReceived

OnSyncRequestReceivedHandler OnSyncRequestReceived

หากไม่ได้ตั้งค่าไว้ การใช้งานเริ่มต้นจะคืนค่า true . เสมอ

OnSyncSucceeded

SyncSucceededHandler OnSyncSucceeded

หากไม่ได้ตั้งค่าไว้ การทำงานเริ่มต้นจะใช้ผลลัพธ์ทั้งหมด ยกเว้นการแก้ไขเซิร์ฟเวอร์ที่มีขนาดเล็กมาก

ได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

mEncryptionType

uint8_t mEncryptionType

วิธีการเข้ารหัสสำหรับการสื่อสารในท้องถิ่น

mKeyId

uint16_t mKeyId

รหัสรหัสที่ใช้สำหรับการสื่อสารในท้องถิ่น

คุณสมบัติที่ได้รับการป้องกัน

mApp

void * mApp

ตัวชี้ไปยังชั้นข้อมูลที่สูงขึ้น

mClientState

ClientState mClientState

mConnectionToService

WeaveConnection * mConnectionToService

การเชื่อมต่อ TCP ที่ใช้ในการพูดคุยกับบริการ

mContacts

Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]

ติดต่อ ข้อมูลได้เรียนรู้ตลอดการค้นพบ

mIsAlwaysFresh

bool mIsAlwaysFresh

mIsInCallback

bool mIsInCallback

จริงถ้าเรากำลังโทรกลับไปยังเลเยอร์ที่สูงกว่า

mLastLikelihoodส่งแล้ว

int8_t mLastLikelihoodSent

mNumContributorInLastLocalSync

uint8_t mNumContributorInLastLocalSync

mRole

TimeSyncRole mRole

บทบาทที่แท้จริงของโหนดนี้

mServerState

ServerState mServerState

mServiceติดต่อ

Contact mServiceContact

mTimestampLastCorrectionFromServerOrNtp_usec

timesync_t mTimestampLastCorrectionFromServerOrNtp_usec

โปรดทราบว่าจะต้องเป็นเวลาบูตเพราะเราต้องการการชดเชยเวลานอน

mTimestampLastLocalSync_usec

timesync_t mTimestampLastLocalSync_usec

โปรดทราบว่าจะต้องเป็นเวลาบูตเพราะเราต้องการการชดเชยเวลานอน

งานสาธารณะ

ยกเลิก

WEAVE_ERROR Abort(
  void
)

บังคับเครื่องยนต์ให้กลับสู่สถานะเดินเบา ยกเลิกการทำงานใดๆ ที่กำลังทำอยู่

โปรดทราบว่าจะไม่มีการเรียกความสำเร็จหรือความล้มเหลวในการซิงค์ การแลกเปลี่ยนสานทั้งหมดจะถูกปิด การเชื่อมต่อ TCP จะไม่ถูกแตะต้องอีกต่อไป ไม่มีการดำเนินการหากเราอยู่ในสถานะไม่ได้ใช้งานอยู่แล้ว ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

ปิดใช้งานการซิงค์อัตโนมัติ

void DisableAutoSync(
  void
)

ปิดใช้งานการซิงค์อัตโนมัติ

ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน ไม่สามารถใช้ได้ในการโทรกลับ

เปิดใช้งานการซิงค์อัตโนมัติ

WEAVE_ERROR EnableAutoSync(
  const int32_t aSyncPeriod_msec,
  const int32_t aNominalDiscoveryPeriod_msec,
  const int32_t aShortestDiscoveryPeriod_msec
)

เปิดใช้งานการซิงค์อัตโนมัติ

ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน การค้นพบเกิดขึ้นทันที ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
พารามิเตอร์
[in] aSyncPeriod_msec
จำนวนมิลลิวินาทีระหว่างการซิงค์
[in] aNominalDiscoveryPeriod_msec
จำนวนมิลลิวินาทีระหว่างการค้นพบ หากไม่มีข้อผิดพลาดในการสื่อสารเกิดขึ้น communication
[in] aShortestDiscoveryPeriod_msec
เวลาที่สั้นที่สุดระหว่างการค้นพบ หน่วยเป็น msec หากพบข้อผิดพลาดในการสื่อสาร
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

GetCapacityOfContactList

int GetCapacityOfContactList(
  void
) const 

getter ง่าย ๆ สำหรับจำนวนผู้ติดต่อสูงสุดที่เอ็นจิ้นนี้ได้รับการกำหนดค่าให้จัดเก็บ

GetClientState

ClientState GetClientState(
  void
) const 

getter ง่าย ๆ สำหรับสถานะลูกค้า

GetNextLikelihood

int8_t GetNextLikelihood(
  void
) const 

ดึงความน่าจะเป็นที่จะคงอยู่

ผลลัพธ์จะถูกต้องหลังจากดำเนินการซิงค์เสร็จสิ้นแล้วเท่านั้น ภายในการเรียกกลับของ OnSyncSucceeded และ OnSyncFailed มิฉะนั้นจะเป็นชั่วคราวและอาจเป็นความน่าจะเป็นในปัจจุบันมากกว่าที่จะใช้ต่อไป

รายละเอียด
คืนสินค้า
แนวโน้มที่จะใช้ในคำขอต่อไป

GetServerState

ServerState GetServerState(
  void
) const 

getter ง่าย ๆ สำหรับสถานะเซิร์ฟเวอร์

InitClient

WEAVE_ERROR InitClient(
  void *const aApp,
  WeaveExchangeManager *aExchangeMgr,
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int8_t aInitialLikelyhood
)

เริ่มต้นไคลเอนต์นี้

ไม่สามารถโทรกลับได้

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลชั้นที่สูงกว่า ใช้ในการเรียกกลับไปยังชั้นที่สูงกว่า
[in] aExchangeMgr
ตัวชี้ไปยังวัตถุ Weave Exchange Manager ทั้งระบบ
[in] aRole
สามารถเป็นได้ทั้ง kTimeSyncRole_Client หรือ kTimeSyncRole_Coordinator
[in] aEncryptionType
ประเภทการเข้ารหัสที่จะใช้สำหรับการร้องขอและการตอบกลับ
[in] aKeyId
รหัสคีย์ที่จะใช้สำหรับคำขอและการตอบกลับ
[in] aInitialLikelyhood
ความเป็นไปได้เบื้องต้นที่จะใช้สำหรับขั้นตอนการค้นพบ
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

ผู้ประสานงานเบื้องต้น

WEAVE_ERROR InitCoordinator(
  nl::Weave::WeaveExchangeManager *aExchangeMgr,
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int32_t aSyncPeriod_msec,
  const int32_t aNominalDiscoveryPeriod_msec,
  const int32_t aShortestDiscoveryPeriod_msec
)

เริ่มต้นผู้ประสานงานนี้

รายละเอียด
พารามิเตอร์
[in] aExchangeMgr
ตัวชี้ไปยังวัตถุ Weave Exchange Manager ทั้งระบบ
[in] aEncryptionType
ประเภทการเข้ารหัสที่จะใช้สำหรับการร้องขอและการตอบกลับ
[in] aKeyId
รหัสคีย์ที่จะใช้สำหรับคำขอและการตอบกลับ
[in] aSyncPeriod_msec
จำนวนมิลลิวินาทีระหว่างการซิงค์
[in] aNominalDiscoveryPeriod_msec
เวลาที่สั้นที่สุดระหว่างการค้นพบ หน่วยเป็น msec หากไม่มีข้อผิดพลาดในการสื่อสาร
[in] aShortestDiscoveryPeriod_msec
จำนวน msec น้อยที่สุดระหว่างการค้นพบ หากพบข้อผิดพลาดในการสื่อสาร
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

InitServer

WEAVE_ERROR InitServer(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr,
  const bool aIsAlwaysFresh
)

initialize สำหรับบทบาทเซิร์ฟเวอร์ต้องถูกเรียกเป็นฟังก์ชันแรกหลังจากสร้างอ็อบเจ็กต์หากตั้งใจจะเป็น Time Sync Server

ไม่สามารถโทรกลับได้

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลชั้นที่สูงกว่า ใช้ในการเรียกกลับไปยังชั้นที่สูงกว่า
[in] aExchangeMgr
ตัวชี้ไปยังวัตถุ Weave Exchange Manager ทั้งระบบ
[in] aIsAlwaysFresh
สามารถตั้งค่าเป็น true เพื่อระบุว่าเซิร์ฟเวอร์มีการซิงค์เสมอ ยกเว้นเวลาเริ่มต้นที่ไม่น่าเชื่อถือ จะถูกตั้งค่าเป็นเท็จสำหรับผู้ประสานงาน
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

MulticastTimeChangeNotification

void MulticastTimeChangeNotification(
  const uint8_t aEncryptionType,
  const uint16_t aKeyId
) const 

เรียกโดยเลเยอร์ที่สูงกว่าเพื่อแจ้งเตือนการเปลี่ยนแปลงเวลาแบบหลายผู้รับ

ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
พารามิเตอร์
[in] aEncryptionType
ประเภทของการเข้ารหัสที่จะใช้สำหรับการแจ้งเตือนนี้
[in] aKeyId
รหัสคีย์ที่จะใช้สำหรับการแจ้งเตือนนี้

RegisterCorrectionFromServerOrNtp

void RegisterCorrectionFromServerOrNtp(
  void
)

เรียกโดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งเสร็จสิ้นการซิงค์รอบเวลากับเซิร์ฟเวอร์ใด ๆ หรือผ่านวิธีการที่เชื่อถือได้เช่น NTP

RegisterLocalSyncOperation

void RegisterLocalSyncOperation(
  const uint8_t aNumContributor
)

เรียกโดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งเสร็จสิ้นการซิงค์รอบเวลากับผู้ประสานงานในพื้นที่อื่น

รายละเอียด
พารามิเตอร์
[in] aNumContributor
จำนวนผู้ประสานงานที่มีส่วนร่วมในการซิงค์ครั้งนี้

ปิดตัวลง

WEAVE_ERROR Shutdown(
  void
)

หยุดบริการไม่ว่าจะมีบทบาทใด

ต้องเรียกใช้ฟังก์ชันนี้เพื่อเรียกคืนทรัพยากรที่จัดสรรอย่างเหมาะสม ก่อนที่จะเรียกใช้ฟังก์ชัน init อีกครั้ง ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

ซิงค์

WEAVE_ERROR Sync(
  const bool aForceDiscoverAgain
)

ซิงค์โดยใช้รายชื่อที่มีอยู่

การดำเนินการซิงค์อาจล้มเหลวหากไม่มีผู้ติดต่อที่ถูกต้อง ตั้งค่า aForceDiscoverAgain ให้เป็นจริงเพื่อบังคับให้ค้นพบทันที ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
พารามิเตอร์
[in] aForceDiscoverAgain
จริงหากผู้ติดต่อที่มีอยู่ทั้งหมดจะถูกล้างและดำเนินการค้นหา
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

SyncWithNodes

WEAVE_ERROR SyncWithNodes(
  const int16_t aNumNode,
  const ServingNode aNodes[]
)

ซิงค์โดยใช้รายชื่อผู้ติดต่อที่กำหนด

รายชื่อผู้ติดต่อที่มีอยู่จะถูกล้าง ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
พารามิเตอร์
[in] aNumNode
จำนวนผู้ติดต่อในอาร์เรย์ aNodes
[in] aNodes
อาร์เรย์ของบันทึกการติดต่อ
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

SyncWithService

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

ซิงค์โดยใช้การเชื่อมต่อ TCP ที่กำหนดและการเข้ารหัสและรหัสคีย์ที่เกี่ยวข้อง

ผู้โทรจะต้องเป็นเจ้าของการเชื่อมต่อ TCP หลังจากการซิงค์เสร็จสิ้น จะไม่มีการเขียนทับการเรียกกลับสำหรับการเชื่อมต่อ TCP เนื่องจากจะมีการสร้าง Weave Exchange ใหม่และการตั้งค่าการโทรกลับที่ด้านบนของบริบทนั้นจะมีให้ในสถานะไม่ได้ใช้งานเท่านั้น ไม่สามารถใช้ได้ในการโทรกลับ

รายละเอียด
พารามิเตอร์
[in] aConnection
ตัวชี้ไปยังการเชื่อมต่อสาน
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

TimeSyncNode

 TimeSyncNode(
  void
)

ฟังก์ชันที่ได้รับการป้องกัน

AbortOnError

void AbortOnError(
  const WEAVE_ERROR aCode
)

ยกเลิกภายในหาก aCode ไม่ใช่ WEAVE_NO_ERROR

ซิงค์อัตโนมัติทันที

void AutoSyncNow(
  void
)

ฟังก์ชั่นภายในเพื่อเริ่มเซสชันการซิงค์อัตโนมัติ

CallbackForSyncCompletion

WEAVE_ERROR CallbackForSyncCompletion(
  const bool aIsSuccessful,
  bool aShouldUpdate,
  const bool aIsCorrectionReliable,
  const bool aIsFromServer,
  const uint8_t aNumContributor,
  const timesync_t aSystemTimestamp_usec,
  const timesync_t aDiffTime_usec
)

ชักนำให้โทรกลับไปยังชั้นแอปพลิเคชัน

ตั้งค่า aIsSuccessful เป็น false เพื่อทำให้เกิดข้อผิดพลาดในการติดต่อกลับ

ClearState

void ClearState(
  void
)

ทำลายCommContext

bool DestroyCommContext(
  void
)

ปิดสาน ExchangeContext

EndLocalSyncAndTryCalculateTimeFix

void EndLocalSyncAndTryCalculateTimeFix(
  void
)

EndServiceSyncAndTryCalculateTimeFix

void EndServiceSyncAndTryCalculateTimeFix(
  void
)

FindReplaceableContact

Contact * FindReplaceableContact(
  const uint64_t aNodeId,
  const IPAddress & aNodeAddr,
  bool aIsTimeChangeNotification
)

คืนช่องเพื่อเก็บข้อมูลการติดต่อ

GetClientStateName

const char *const GetClientStateName(
  void
) const 

GetNextIdleContact

Contact * GetNextIdleContact(
  void
)

รับการติดต่อที่ถูกต้องและไม่ได้ใช้งานต่อไปเพื่อพูดคุยกับ

GetNumNotYetCompletedContacts

int16_t GetNumNotYetCompletedContacts(
  void
)

รับจำนวนผู้ติดต่อที่ถูกต้อง แต่เรายังไม่ได้พูดคุยกับพวกเขา

GetNumReliableResponses

int16_t GetNumReliableResponses(
  void
)

รับจำนวนคำตอบที่ 'เชื่อถือได้' ที่รวบรวมมาจนถึงตอนนี้

โทรมาเพื่อตรวจสอบว่าเราได้รวบรวมจำนวนคำตอบเพียงพอหรือไม่

InitState

WEAVE_ERROR InitState(
  const TimeSyncRole aRole,
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr
)

InvalidateAllContacts

void InvalidateAllContacts(
  void
)

ทำให้ผู้ติดต่อในพื้นที่ทั้งหมดเป็นโมฆะ

InvalidateServiceContact

void InvalidateServiceContact(
  void
)

ยกเลิกการติดต่อกับบริการ

RegisterCommError

void RegisterCommError(
  Contact *const aContact
)

ลงทะเบียนข้อผิดพลาดในการสื่อสารในผู้ติดต่อบางราย และลดระยะเวลาการค้นหาอัตโนมัติหากจำเป็น ผู้ติดต่ออาจเป็น NULL เพื่อระบุว่าเราไม่มีใครคุยด้วย และด้วยเหตุนี้จึงลดระยะเวลาการค้นหาอัตโนมัติ

SendSyncRequest

WEAVE_ERROR SendSyncRequest(
  bool *const rIsMessageSent,
  Contact *const aContact
)

ส่งคำขอซิงค์ unicast ไปยังผู้ติดต่อ

*rIsMessageSent จะถูกตั้งค่าให้ระบุว่าข้อความนั้นถูกส่งออกไปหรือไม่ ข้อผิดพลาดในการสื่อสารเช่นที่อยู่ที่ไม่สามารถเข้าถึงได้จะไม่ถูกส่งกลับ ดังนั้นผู้โทรจะต้องตรวจสอบทั้งรหัสส่งคืนและ *rIsMessageSent

SetAllCompletedContactsToIdle

int16_t SetAllCompletedContactsToIdle(
  void
)

รีเซ็ตผู้ติดต่อที่เสร็จสมบูรณ์ทั้งหมดเป็นสถานะว่างอีกครั้ง แต่อย่าแตะต้องการตอบสนอง

นี้เรียกว่าระหว่างสองรอบของการสื่อสารไปยังโหนดเดียวกัน

SetAllValidContactsToIdleAndInvalidateResponse

int16_t SetAllValidContactsToIdleAndInvalidateResponse(
  void
)

ตั้งค่าผู้ติดต่อในพื้นที่ที่ถูกต้องทั้งหมดให้อยู่ในสถานะไม่ได้ใช้งานและล้างการตอบกลับ

นี้เรียกว่าก่อนที่เราจะเริ่มติดต่อพวกเขาทีละคน

SetClientState

void SetClientState(
  const ClientState state
)

SetupUnicastCommContext

WEAVE_ERROR SetupUnicastCommContext(
  Contact *const aContact
)

สร้าง Weave Exchange ใหม่สำหรับการสื่อสารแบบ unicast

StoreNotifyingContact

void StoreNotifyingContact(
  const uint64_t aNodeId,
  const IPAddress & aNodeAddr
)

เก็บข้อมูลการติดต่อของโหนดที่เพิ่งส่งการแจ้งเตือนการเปลี่ยนแปลงเวลาถึงเรา

อัปเดตMulticastSyncResponse

void UpdateMulticastSyncResponse(
  const uint64_t aNodeId,
  const IPAddress & aNodeAddr,
  const TimeSyncResponse & aResponse
)

ประมวลผลการตอบสนองที่กลับมาจากคำขอหลายผู้รับ

UpdateUnicastSyncResponse

void UpdateUnicastSyncResponse(
  const TimeSyncResponse & aResponse
)

ประมวลผลการตอบสนองที่กลับมาจากคำขอ unicastcast

_InitClient

WEAVE_ERROR _InitClient(
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int8_t aInitialLikelyhood
)

เริ่มต้นสำหรับบทบาทลูกค้า

มีวัตถุประสงค์เพื่อใช้ภายในโดยครอบครัว Init ของฟังก์ชั่นสาธารณะ ต้องตั้งค่า mClientState ก่อนส่งคืน ไม่สามารถโทรกลับได้

รายละเอียด
พารามิเตอร์
[in] aEncryptionType
ประเภทการเข้ารหัสที่จะใช้สำหรับการร้องขอและการตอบกลับ
[in] aKeyId
รหัสคีย์ที่จะใช้สำหรับคำขอและการตอบกลับ
[in] aInitialLikelyhood
ความเป็นไปได้เบื้องต้นที่จะใช้สำหรับขั้นตอนการค้นพบ
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

_InitServer

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

เริ่มต้นสำหรับบทบาทเซิร์ฟเวอร์

มีวัตถุประสงค์เพื่อใช้ภายในโดยครอบครัว Init ของฟังก์ชั่นสาธารณะ ต้องตั้งค่า mClientState ก่อนส่งคืน ไม่สามารถโทรกลับได้

รายละเอียด
พารามิเตอร์
[in] aIsAlwaysFresh
สามารถตั้งค่าเป็น true เพื่อระบุว่าเซิร์ฟเวอร์มีการซิงค์เสมอ ยกเว้นเวลาเริ่มต้นที่ไม่น่าเชื่อถือ จะถูกตั้งค่าเป็นเท็จสำหรับผู้ประสานงาน
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

_ShutdownClient

WEAVE_ERROR _ShutdownClient(
  void
)

หยุดไคลเอ็นต์ไม่พร้อมใช้งานในการโทรกลับ

รายละเอียด
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

_ผู้ประสานงานการปิดระบบ

WEAVE_ERROR _ShutdownCoordinator(
  void
)

หยุดผู้ประสานงานที่ไม่สามารถโทรกลับได้

รายละเอียด
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

_ShutdownServer

WEAVE_ERROR _ShutdownServer(
  void
)

หยุดเซิร์ฟเวอร์ไม่พร้อมใช้งานในการเรียกกลับ

รายละเอียด
คืนสินค้า
WEAVE_NO_ERROR กับความสำเร็จ

ฟังก์ชั่นป้องกันไฟฟ้าสถิตย์

HandleAutoDiscoveryTimeout

void HandleAutoDiscoveryTimeout(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

HandleAutoSyncTimeout

void HandleAutoSyncTimeout(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

HandleMulticastResponseTimeout

void HandleMulticastResponseTimeout(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

HandleMulticastSyncResponse

void HandleMulticastSyncResponse(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

HandleSyncRequest

void HandleSyncRequest(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

โทรกลับจาก Weave Exchange เมื่อคำขอซิงค์เวลามาถึง time

HandleTimeChangeNotification

void HandleTimeChangeNotification(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

HandleUnicastResponseTimeout

void HandleUnicastResponseTimeout(
  ExchangeContext *const ec
)

HandleUnicastSyncResponse

void HandleUnicastSyncResponse(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

จัดการUnreliableAfterBootTimer

void HandleUnreliableAfterBootTimer(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

โทรกลับจาก Weave Timer เมื่อเราผ่านอุปสรรคการบูตที่ไม่น่าเชื่อถือ

IsOperationalState

bool IsOperationalState(
  ClientState aState
)

กำหนดว่าสถานะที่กำหนดนั้นใช้งานได้หรือไม่

วิธีที่สะดวกในการตรวจสอบว่า ClientState หมายถึงสถานะการปฏิบัติงานหรือไม่ กล่าวคือ ลูกค้าได้เริ่มต้นเสร็จสิ้นแล้ว และไม่อยู่ในกระบวนการปิดเครื่อง

รายละเอียด
พารามิเตอร์
[in] aState
รัฐที่จะประเมิน
คืนสินค้า
จริง หากสถานะตกหลังจากการเริ่มต้นเสร็จสิ้นและก่อนที่จะปิดระบบ มิฉะนั้นจะเป็นเท็จ

_OnSyncSucceeded

bool _OnSyncSucceeded(
  void *const aApp,
  const nl::Weave::Profiles::Time::timesync_t aOffsetUsec,
  const bool aIsReliable,
  const bool aIsServer,
  const uint8_t aNumContributor
)