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(*
การเรียกกลับจะเกิดขึ้นก่อนที่เราจะคำนวณการแก้ไขเวลาจากการตอบกลับ
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) typedef
bool(*
ติดต่อกลับเพื่อระบุว่าเราเพิ่งได้รับคำขอซิงค์เวลา
ResponseStatus enum
สถานะการตอบกลับที่เก็บไว้สำหรับรายชื่อติดต่อบางรายการ
ServerState{
  kServerState_UnreliableAfterBoot,
  kServerState_Idle
}
enum
สถานะปัจจุบันของเซิร์ฟเวอร์การซิงค์เวลานี้
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
หากไม่ได้ตั้งค่าไว้ การใช้งานเริ่มต้นจะแสดงค่า "จริง" เสมอ
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)
การเริ่มต้นสำหรับบทบาทเซิร์ฟเวอร์ต้องถูกเรียกใช้เป็นฟังก์ชันแรกหลังจากสร้างออบเจ็กต์หากตั้งใจให้เป็น 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 ของ Weave
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
ลงทะเบียนข้อผิดพลาดในการสื่อสารสำหรับรายชื่อติดต่อบางรายการ และร่นระยะเวลาการค้นหาอัตโนมัติให้สั้นลงหากจำเป็นต้องใช้ aContact สามารถเป็นค่าว่างเพื่อเป็นการระบุว่าเราไม่มีใครที่จะพูดคุยด้วย จึงลดระยะเวลาการค้นหาอัตโนมัติให้สั้นลง
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
ประมวลผลการตอบสนองที่กลับมาจากคำขอ Unicast
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
เริ่มต้นให้กับบทบาทไคลเอ็นต์
_InitServer(const bool aIsAlwaysFresh)
เป็นการเริ่มต้นสำหรับบทบาทเซิร์ฟเวอร์
_ShutdownClient(void)
หยุดไคลเอ็นต์ที่ไม่พร้อมใช้งานในโค้ดเรียกกลับ
_ShutdownCoordinator(void)
หยุด Coordinator ที่มีอยู่ในโค้ดเรียกกลับ
_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 เมื่อมีคำขอการซิงค์เวลา
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

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

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)

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

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

รายละเอียด
พารามิเตอร์
[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
จริง หากโหนดต้นทางเป็นผู้ประสานงานการซิงค์เวลา
การส่งคืน
false และเครื่องมือจะไม่สนใจคำขอนี้

ResponseStatus

 ResponseStatus

สถานะการตอบกลับที่เก็บไว้สำหรับรายชื่อติดต่อบางรายการ

รายการนี้ปรากฏต่อสาธารณะเนื่องจากรายชื่อติดต่อแสดงต่อสาธารณะ

ServerState

 ServerState

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

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

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

kServerState_UnreliableAfterBoot

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

SyncFailedHandler

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

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

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

รายละเอียด
พารามิเตอร์
[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_ในแคมเปญ เพื่อที่จะไม่สนใจการตอบกลับดังกล่าวในการคำนวณ

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

TimeChangeNotificationHandler

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

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

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

รายละเอียด
พารามิเตอร์
[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 จะไม่ได้รับการแก้ไขเพิ่มเติม ไม่มีการดำเนินการหากเราอยู่ในสถานะไม่มีการใช้งานอยู่แล้ว ไม่สามารถใช้ในโค้ดเรียกกลับ

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

DisableAutoSync

void DisableAutoSync(
  void
)

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

ใช้ได้เฉพาะในสถานะ "ไม่อยู่" เท่านั้น ไม่มีในโค้ดเรียกกลับ

EnableAutoSync

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

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

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

รายละเอียด
พารามิเตอร์
[in] aSyncPeriod_msec
จำนวนมิลลิวินาทีระหว่างการซิงค์
[in] aNominalDiscoveryPeriod_msec
จำนวนมิลลิวินาทีระหว่างการค้นหา หากไม่พบข้อผิดพลาดในการสื่อสาร
[in] aShortestDiscoveryPeriod_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 เกี่ยวกับความสำเร็จ

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
)

เริ่มต้นตัวประสานงานนี้

รายละเอียด
พารามิเตอร์
[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
)

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

ใช้ไม่ได้ในโค้ดเรียกกลับ

รายละเอียด
พารามิเตอร์
[in] aApp
ตัวชี้ไปยังข้อมูลเลเยอร์ที่สูงกว่า ซึ่งใช้ในการเรียกกลับไปยังเลเยอร์ที่สูงกว่า
[in] aExchangeMgr
ตัวชี้ไปยังออบเจ็กต์ Weave Exchange Manager ทั้งระบบ
[in] aIsAlwaysFresh
อาจตั้งค่าเป็น true เพื่อระบุว่าเซิร์ฟเวอร์มีการซิงค์เสมอ ยกเว้นเวลาที่ไม่น่าเชื่อถือในช่วงแรก จะต้องตั้งค่าเป็น false สำหรับ Coordinator
การส่งคืน
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
)

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

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

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

SyncWithNodes

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

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

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

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

SyncWithService

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

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

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

รายละเอียด
พารามิเตอร์
[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
)

ปิด ExchangeContext ของ Weave

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
)

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

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
)

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

_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 เกี่ยวกับความสำเร็จ

เซิร์ฟเวอร์

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

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

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

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

_ไคลเอ็นต์ปิด

WEAVE_ERROR _ShutdownClient(
  void
)

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

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

_ตัวประสานงานปิดการทำงาน

WEAVE_ERROR _ShutdownCoordinator(
  void
)

หยุด Coordinator ที่มีอยู่ในโค้ดเรียกกลับ

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

_ปิดเซิร์ฟเวอร์

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 เมื่อมีคำขอการซิงค์เวลา

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
)

โค้ดเรียกกลับจาก Weave Timer เมื่อเราผ่านอุปสรรคที่ไม่น่าเชื่อถือหลังการเปิดเครื่อง

IsOperationalState

bool IsOperationalState(
  ClientState aState
)

พิจารณาว่าสถานะที่ระบุทำงานหรือไม่

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

รายละเอียด
พารามิเตอร์
[in] aState
สถานะที่จะประเมิน
การส่งคืน
true ถ้าสถานะล้มเหลวหลังจากการเริ่มต้นใช้งานเสร็จสมบูรณ์แล้ว และก่อนที่การปิดตัวจะเริ่มต้นขึ้น false หากไม่เป็นเช่นนั้น

_OnSynceded แล้ว

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