nl::Weave::Profiles::Time::TimeSyncNode

สรุป

การสืบทอด

รับค่าจาก: nl::Weave::Profiles::Time::_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(*
Callback จะเกิดขึ้นทันทีก่อนที่เราจะคำนวณการแก้ไขเวลาจากคำตอบ
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) typedef
bool(*
Callback เพื่อระบุว่าเราเพิ่งได้รับคำขอซิงค์เวลา
ResponseStatus enum
จัดเก็บคำตอบสำหรับรายชื่อติดต่อบางรายการ
ServerState{
  kServerState_UnreliableAfterBoot,
  kServerState_Idle
}
enum
สถานะปัจจุบันของเซิร์ฟเวอร์การซิงค์เวลานี้
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
Callback เกิดขึ้นเมื่อระบบถือว่าการซิงค์ล้มเหลว ซึ่งรวมถึงการซิงค์อัตโนมัติ
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) typedef
bool(*
Callback จะเกิดขึ้นหลังจากที่การซิงค์ถือว่าเสร็จสมบูรณ์ ซึ่งรวมถึงการซิงค์อัตโนมัติ แต่ก่อนที่จะมีการนำผลลัพธ์ไปใช้
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) typedef
void(*
Callback เพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา

แอตทริบิวต์สาธารณะ

FilterTimeCorrectionContributor
OnSyncFailed
OnSyncRequestReceived
หากไม่ได้ตั้งค่า การใช้งานเริ่มต้นจะแสดงค่า "จริง" เสมอ
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
Simple Getter สำหรับจำนวนรายชื่อติดต่อสูงสุดที่เครื่องมือค้นหานี้มีการกำหนดค่าให้จัดเก็บ
GetClientState(void) const
Getter แบบง่ายสำหรับสถานะไคลเอ็นต์
GetNextLikelihood(void) const
int8_t
ให้แยกค่าแนวโน้มต่อเนื่อง
GetServerState(void) const
Simple 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)
เริ่มต้นใช้งาน Coordinator นี้
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
เริ่มต้น สำหรับบทบาทเซิร์ฟเวอร์ ต้องเรียกใช้เป็นฟังก์ชันแรกหลังจากสร้างออบเจ็กต์หากตั้งใจที่จะเป็นเซิร์ฟเวอร์การซิงค์เวลา
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
void
เรียกใช้การแจ้งเตือนการเปลี่ยนแปลงเวลาของมัลติแคสต์จากเลเยอร์ที่สูงกว่า
RegisterCorrectionFromServerOrNtp(void)
void
เรียกใช้ด้วยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งทำการซิงค์กับเซิร์ฟเวอร์ใดๆ ตัวหนึ่งเสร็จหรือผ่านทางวิธีการที่เชื่อถือได้ เช่น NTP
RegisterLocalSyncOperation(const uint8_t aNumContributor)
void
เรียกใช้โดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งซิงค์กับผู้ประสานงานรายอื่นในท้องถิ่นเสร็จเรียบร้อยแล้ว 1 ครั้ง
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
ปิด Weave 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
ประมวลผลคำตอบที่ตอบกลับจากคำขอยูนิแคสต์
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
เริ่มต้นสำหรับบทบาทไคลเอ็นต์
_InitServer(const bool aIsAlwaysFresh)
เริ่มต้น สำหรับบทบาทเซิร์ฟเวอร์
_ShutdownClient(void)
หยุดไคลเอ็นต์ที่ใช้งานไม่ได้ใน Callback
_ShutdownCoordinator(void)
หยุด Coordinator ที่ไม่สามารถใช้งานได้ใน Callback
_ShutdownServer(void)
หยุดเซิร์ฟเวอร์ที่ใช้งานไม่ได้ใน Callback

ฟังก์ชันแบบคงที่ที่มีการป้องกัน

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
Callback จาก Weave Exchange เมื่อได้รับคำขอซิงค์เวลา
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
Callback จาก 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

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

mIsUrgentDiscoveryPending

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)

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

เลเยอร์ของแอปพลิเคชันอาจเขียนทับ aContact[i].mResponseStatus เป็น kResponseStatus_Attributes ในการคำนวณ

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

OnSyncRequestReceivedHandler

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

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

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

ResponseStatus

 ResponseStatus

จัดเก็บคำตอบสำหรับรายชื่อติดต่อบางรายการ

รายการนี้แสดงต่อสาธารณะเนื่องจากข้อมูลติดต่อแสดงต่อสาธารณะ

ServerState

 ServerState

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

พร็อพเพอร์ตี้
kServerState_Idle

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

kServerState_UnreliableAfterBoot

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

SyncFailedHandler

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

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

โปรดทราบว่า Callback จะไม่เกิดขึ้นหากมีการเรียก 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)

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

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

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

TimeChangeNotificationHandler

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

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

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

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

แอตทริบิวต์สาธารณะ

FilterTimeCorrectionContributor

ContributorFilter FilterTimeCorrectionContributor

OnSyncFailed

SyncFailedHandler OnSyncFailed

OnSyncRequestReceived

OnSyncRequestReceivedHandler OnSyncRequestReceived

หากไม่ได้ตั้งค่า การใช้งานเริ่มต้นจะแสดงค่า "จริง" เสมอ

OnSyncSucceeded

SyncSucceededHandler OnSyncSucceeded

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

OnTimeChangeNotificationReceived

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

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

mLastLikelihoodSent

int8_t mLastLikelihoodSent

mNumContributorInLastLocalSync

uint8_t mNumContributorInLastLocalSync

mRole

TimeSyncRole mRole

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

mServerState

ServerState mServerState

mServiceContact

Contact mServiceContact

mTimestampLastCorrectionFromServerOrNtp_usec

timesync_t mTimestampLastCorrectionFromServerOrNtp_usec

โปรดทราบว่าจะต้องเปิดเครื่องเนื่องจากเราต้องจ่ายค่าชดเชยสำหรับเวลานอน

mTimestampLastLocalSync_usec

timesync_t mTimestampLastLocalSync_usec

โปรดทราบว่าจะต้องเปิดเครื่องเนื่องจากเราต้องจ่ายค่าชดเชยสำหรับเวลานอน

ฟังก์ชันสาธารณะ

ล้มเลิก

WEAVE_ERROR Abort(
  void
)

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

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

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

DisableAutoSync

void DisableAutoSync(
  void
)

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

พร้อมใช้งานในสถานะไม่มีการใช้งานเท่านั้น ใช้ไม่ได้ใน Callback

EnableAutoSync

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

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

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

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

GetCapacityOfContactList

int GetCapacityOfContactList(
  void
) const 

Simple Getter สำหรับจำนวนรายชื่อติดต่อสูงสุดที่เครื่องมือค้นหานี้มีการกำหนดค่าให้จัดเก็บ

GetClientState

ClientState GetClientState(
  void
) const 

Getter แบบง่ายสำหรับสถานะไคลเอ็นต์

GetNextLikelihood

int8_t GetNextLikelihood(
  void
) const 

แยกความเป็นไปได้สำหรับความต่อเนื่อง

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

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

GetServerState

ServerState GetServerState(
  void
) const 

Simple Getter สำหรับสถานะเซิร์ฟเวอร์

InitClient

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

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

ไม่พร้อมใช้งานใน Callback

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

InitCoordinator

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
)

เริ่มต้นใช้งาน Coordinator นี้

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

InitServer

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

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

ไม่พร้อมใช้งานใน Callback

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

MulticastTimeChangeNotification

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

เรียกใช้การแจ้งเตือนการเปลี่ยนแปลงเวลาของมัลติแคสต์จากเลเยอร์ที่สูงกว่า

ใช้ไม่ได้ใน Callback

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

RegisterCorrectionFromServerOrNtp

void RegisterCorrectionFromServerOrNtp(
  void
)

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

RegisterLocalSyncOperation

void RegisterLocalSyncOperation(
  const uint8_t aNumContributor
)

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

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

ปิดการทำงาน

WEAVE_ERROR Shutdown(
  void
)

หยุดการทำงานของบริการ ไม่ว่าจะมีบทบาทใด

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

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

ซิงค์

WEAVE_ERROR Sync(
  const bool aForceDiscoverAgain
)

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

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

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

SyncWithNodes

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

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

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

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

SyncWithService

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

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

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

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

TimeSyncNode

 TimeSyncNode(
  void
)

ฟังก์ชันที่มีการป้องกัน

AbortOnError

void AbortOnError(
  const WEAVE_ERROR aCode
)

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

AutoSyncNow

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
)

ทำให้เกิดการติดต่อกลับไปยังเลเยอร์ของแอปพลิเคชัน

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

ClearState

void ClearState(
  void
)

DestroyCommContext

bool DestroyCommContext(
  void
)

ปิด Weave 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
)

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

วิธีนี้เรียกว่าระหว่างรอบการสื่อสาร 2 รอบกับโหนดเดียวกัน

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
)

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

UpdateMulticastSyncResponse

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

ประมวลผลการตอบกลับจากคำขอมัลติแคสต์

UpdateUnicastSyncResponse

void UpdateUnicastSyncResponse(
  const TimeSyncResponse & aResponse
)

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

_InitClient

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

เริ่มต้นสำหรับบทบาทไคลเอ็นต์

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

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

_InitServer

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

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

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

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

_ShutdownClient

WEAVE_ERROR _ShutdownClient(
  void
)

หยุดไคลเอ็นต์ที่ใช้งานไม่ได้ใน Callback

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

_ShutdownCoordinator

WEAVE_ERROR _ShutdownCoordinator(
  void
)

หยุด Coordinator ที่ไม่สามารถใช้งานได้ใน Callback

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

_ShutdownServer

WEAVE_ERROR _ShutdownServer(
  void
)

หยุดเซิร์ฟเวอร์ที่ใช้งานไม่ได้ใน Callback

รายละเอียด
การคืนสินค้า
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
)

Callback จาก Weave Exchange เมื่อได้รับคำขอซิงค์เวลา

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
)

HandleUnreliableAfterBootTimer

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

Callback จาก 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
)