ไม่มี:: สาน:: โปรไฟล์:: เวลา:: 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 | Contact * บริบทการสื่อสาร |
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) | typedefvoid(* การโทรกลับจะเกิดขึ้นก่อนที่เราจะคำนวณการแก้ไขเวลาจากการตอบกลับ |
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) | typedefbool(* โทรกลับเพื่อระบุว่าเราเพิ่งได้รับคำขอซิงค์เวลา |
ResponseStatus | enum สถานะของการตอบกลับที่เก็บไว้กับผู้ติดต่อบางราย |
ServerState { | enum สถานะปัจจุบันของ Time Sync Server นี้ |
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) | typedefvoid(* การโทรกลับเกิดขึ้นเมื่อถือว่าการซิงค์ล้มเหลว รวมถึงการซิงค์อัตโนมัติ |
SyncSucceededHandler )(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) | typedefbool(* การโทรกลับจะเกิดขึ้นหลังจากการซิงค์ถือว่าสำเร็จ รวมถึงการซิงค์อัตโนมัติ แต่ก่อนที่จะนำผลลัพธ์ไปใช้ |
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) | typedefvoid(* โทรกลับเพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา |
คุณลักษณะสาธารณะ | |
---|---|
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) | Contact * คืนช่องเพื่อเก็บข้อมูลการติดต่อ |
GetClientStateName (void) const | const char *const |
GetNextIdleContact (void) | Contact * รับการติดต่อที่ถูกต้องและไม่ได้ใช้งานต่อไปเพื่อพูดคุยกับ |
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
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 เพื่อให้การตอบกลับถูกละเว้นในการคำนวณ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
โทรกลับเพื่อระบุว่าเราเพิ่งได้รับคำขอซิงค์เวลา
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||||
คืนสินค้า | เท็จและเครื่องยนต์จะเพิกเฉยต่อคำขอนี้ |
สถานะการตอบกลับ
ResponseStatus
สถานะของการตอบกลับที่เก็บไว้กับผู้ติดต่อบางราย
นี่คือในที่สาธารณะเพราะ ติดต่อ เป็นในที่สาธารณะ
สถานะเซิร์ฟเวอร์
ServerState
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
การโทรกลับเกิดขึ้นเมื่อถือว่าการซิงค์ล้มเหลว รวมถึงการซิงค์อัตโนมัติ
โปรดทราบว่าการโทรกลับจะไม่เกิดขึ้นหากมีการเรียก Abort เพื่อหยุดการซิงค์
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
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 เพื่อให้การตอบกลับถูกละเว้นในการคำนวณ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||||||
คืนสินค้า | จริงหากจะใช้ออฟเซ็ตนี้เพื่อปรับเวลาของระบบ ในกรณีที่ aNumContributor เป็น 0 ค่าที่ส่งกลับจะถูกละเว้น |
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
โทรกลับเพื่อระบุว่าเราเพิ่งได้รับการแจ้งเตือนการเปลี่ยนแปลงเวลา
หากเปิดใช้งานโหมดซิงค์อัตโนมัติ การซิงค์เวลาจะถูกกำหนดเวลาไม่นานหลังจากการเรียกกลับนี้โดยอัตโนมัติ มิฉะนั้น เลเยอร์แอปพลิเคชันสามารถเลือกที่จะเรียกใช้ฟังก์ชันตระกูล Sync เพื่อเริ่มต้นการดำเนินการซิงค์โดยตรง ซึ่งไม่ถูกจำกัดโดยกฎปกติที่ไม่มีในการโทรกลับ อย่างไรก็ตาม ต้องสังเกตว่าการเรียกกลับพิเศษนี้ยังคงอยู่บนสแต็กการโทรกลับของเลเยอร์การแลกเปลี่ยน Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
คุณลักษณะสาธารณะ
ผู้สนับสนุนการแก้ไขเวลาตัวกรอง
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 )
เปิดใช้งานการซิงค์อัตโนมัติ
ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน การค้นพบเกิดขึ้นทันที ไม่สามารถใช้ได้ในการโทรกลับ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
getter ง่าย ๆ สำหรับจำนวนผู้ติดต่อสูงสุดที่เอ็นจิ้นนี้ได้รับการกำหนดค่าให้จัดเก็บ
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
ดึงความน่าจะเป็นที่จะคงอยู่
ผลลัพธ์จะถูกต้องหลังจากดำเนินการซิงค์เสร็จสิ้นแล้วเท่านั้น ภายในการเรียกกลับของ OnSyncSucceeded และ OnSyncFailed มิฉะนั้นจะเป็นชั่วคราวและอาจเป็นความน่าจะเป็นในปัจจุบันมากกว่าที่จะใช้ต่อไป
รายละเอียด | |
---|---|
คืนสินค้า | แนวโน้มที่จะใช้ในคำขอต่อไป |
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t 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 )
เริ่มต้นผู้ประสานงานนี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||||||||
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
initialize สำหรับบทบาทเซิร์ฟเวอร์ต้องถูกเรียกเป็นฟังก์ชันแรกหลังจากสร้างอ็อบเจ็กต์หากตั้งใจจะเป็น Time Sync Server
ไม่สามารถโทรกลับได้
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
เรียกโดยเลเยอร์ที่สูงกว่าเพื่อแจ้งเตือนการเปลี่ยนแปลงเวลาแบบหลายผู้รับ
ไม่สามารถใช้ได้ในการโทรกลับ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
เรียกโดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งเสร็จสิ้นการซิงค์รอบเวลากับเซิร์ฟเวอร์ใด ๆ หรือผ่านวิธีการที่เชื่อถือได้เช่น NTP
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
เรียกโดยเลเยอร์ที่สูงกว่าเพื่อระบุว่าเราเพิ่งเสร็จสิ้นการซิงค์รอบเวลากับผู้ประสานงานในพื้นที่อื่น
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ปิดตัวลง
WEAVE_ERROR Shutdown( void )
หยุดบริการไม่ว่าจะมีบทบาทใด
ต้องเรียกใช้ฟังก์ชันนี้เพื่อเรียกคืนทรัพยากรที่จัดสรรอย่างเหมาะสม ก่อนที่จะเรียกใช้ฟังก์ชัน init อีกครั้ง ไม่สามารถใช้ได้ในการโทรกลับ
รายละเอียด | |
---|---|
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
ซิงค์
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
ซิงค์โดยใช้รายชื่อที่มีอยู่
การดำเนินการซิงค์อาจล้มเหลวหากไม่มีผู้ติดต่อที่ถูกต้อง ตั้งค่า aForceDiscoverAgain ให้เป็นจริงเพื่อบังคับให้ค้นพบทันที ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน ไม่สามารถใช้ได้ในการโทรกลับ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
| ||
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
ซิงค์โดยใช้รายชื่อผู้ติดต่อที่กำหนด
รายชื่อผู้ติดต่อที่มีอยู่จะถูกล้าง ใช้ได้เฉพาะในสถานะไม่ได้ใช้งาน ไม่สามารถใช้ได้ในการโทรกลับ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
| ||||
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
ซิงค์โดยใช้การเชื่อมต่อ TCP ที่กำหนดและการเข้ารหัสและรหัสคีย์ที่เกี่ยวข้อง
ผู้โทรจะต้องเป็นเจ้าของการเชื่อมต่อ TCP หลังจากการซิงค์เสร็จสิ้น จะไม่มีการเขียนทับการเรียกกลับสำหรับการเชื่อมต่อ TCP เนื่องจากจะมีการสร้าง Weave Exchange ใหม่และการตั้งค่าการโทรกลับที่ด้านบนของบริบทนั้นจะมีให้ในสถานะไม่ได้ใช้งานเท่านั้น ไม่สามารถใช้ได้ในการโทรกลับ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
| ||
คืนสินค้า | 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 )
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 ก่อนส่งคืน ไม่สามารถโทรกลับได้
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||
คืนสินค้า | WEAVE_NO_ERROR กับความสำเร็จ |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
เริ่มต้นสำหรับบทบาทเซิร์ฟเวอร์
มีวัตถุประสงค์เพื่อใช้ภายในโดยครอบครัว Init ของฟังก์ชั่นสาธารณะ ต้องตั้งค่า mClientState ก่อนส่งคืน ไม่สามารถโทรกลับได้
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
| ||
คืนสินค้า | 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 หมายถึงสถานะการปฏิบัติงานหรือไม่ กล่าวคือ ลูกค้าได้เริ่มต้นเสร็จสิ้นแล้ว และไม่อยู่ในกระบวนการปิดเครื่อง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
| ||
คืนสินค้า | จริง หากสถานะตกหลังจากการเริ่มต้นเสร็จสิ้นและก่อนที่จะปิดระบบ มิฉะนั้นจะเป็นเท็จ |
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )