nl :: Dệt :: Hồ sơ :: Thời gian:: TimeSyncNode
Tóm lược
Di sản
Inherits từ: nl :: Weave :: Profiles :: Thời gian :: _ TimeSyncNodeBaseNgười xây dựng và Người phá hủy | |
---|---|
TimeSyncNode (void) |
mBootTimeForNextAutoDiscovery_usec | timesync_t |
mIsAutoSyncEnabled | bool trạng thái được sử dụng cho tính năng tự động đồng bộ hóa. |
mIsUrgentDiscoveryPending | bool |
mNominalDiscoveryPeriod_msec | int32_t |
mShortestDiscoveryPeriod_msec | int32_t |
mSyncPeriod_msec | int32_t |
mActiveContact | Contact * bối cảnh giao tiếp. |
mExchangeContext | |
mUnadjTimestampLastSent_usec | timesync_t |
EnterState_Discover (void) | void các chức năng chuyển đổi trạng thái này là nội bộ và không thể trả về mã lỗi vì trạng thái trước đó sẽ không có cách nào để xử lý chúng. |
EnterState_ServiceSync_1 (void) | void |
EnterState_ServiceSync_2 (void) | void |
EnterState_Sync_1 (void) | void |
EnterState_Sync_2 (void) | void |
Các loại công khai | |
---|---|
ClientState | enum trạng thái hiện tại của ứng dụng đồng bộ hóa thời gian này |
CommState | enum tình trạng giao tiếp đến một số liên lạc nhất định. |
ContributorFilter )(void *const aApp, Contact aContact[], const int aSize) | typedefvoid(* gọi lại xảy ra ngay trước khi chúng tôi tính toán thời gian hiệu chỉnh từ các phản hồi. |
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) | typedefbool(* gọi lại để cho biết chúng tôi vừa nhận được yêu cầu đồng bộ thời gian. |
ResponseStatus | enum trạng thái của phản hồi được lưu trữ cho một số liên lạc nhất định. |
ServerState { | enum trạng thái hiện tại của Máy chủ Đồng bộ hóa Thời gian này |
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) | typedefvoid(* gọi lại xảy ra khi đồng bộ hóa được coi là không thành công, bao gồm cả tự động đồng bộ hóa. |
SyncSucceededHandler )(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) | typedefbool(* gọi lại xảy ra sau khi đồng bộ hóa được coi là thành công, bao gồm đồng bộ hóa tự động, nhưng trước khi kết quả được áp dụng. |
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) | typedefvoid(* gọi lại để cho biết chúng tôi vừa nhận được Thông báo thay đổi thời gian. |
Thuộc tính công cộng | |
---|---|
FilterTimeCorrectionContributor | |
OnSyncFailed | |
OnSyncRequestReceived | nếu không được đặt, việc triển khai mặc định luôn trả về true |
OnSyncSucceeded | nếu không được đặt, hành vi mặc định sẽ lấy tất cả các kết quả, ngoại trừ các chỉnh sửa máy chủ rất nhỏ |
OnTimeChangeNotificationReceived | |
mEncryptionType | uint8_t phương pháp mã hóa cho giao tiếp cục bộ |
mKeyId | uint16_t id khóa được sử dụng cho giao tiếp cục bộ |
Thuộc tính được bảo vệ | |
---|---|
mApp | void * con trỏ đến dữ liệu lớp cao hơn |
mClientState | |
mConnectionToService | Kết nối TCP được sử dụng để nói chuyện với dịch vụ. |
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS] | Liên hệ thông tin học suốt khám phá. |
mIsAlwaysFresh | bool |
mIsInCallback | bool true nếu chúng ta đang gọi lại lớp cao hơn |
mLastLikelihoodSent | int8_t |
mNumContributorInLastLocalSync | uint8_t |
mRole | TimeSyncRole Thực tế vai trò của nút này. |
mServerState | |
mServiceContact | |
mTimestampLastCorrectionFromServerOrNtp_usec | timesync_t lưu ý rằng nó phải là thời gian khởi động vì chúng tôi cần bù cho thời gian ngủ |
mTimestampLastLocalSync_usec | timesync_t lưu ý rằng nó phải là thời gian khởi động vì chúng tôi cần bù cho thời gian ngủ |
Chức năng công cộng | |
---|---|
Abort (void) | buộc động cơ quay trở lại trạng thái không tải, hủy bỏ bất cứ điều gì nó đang làm. |
DisableAutoSync (void) | void tắt tự động đồng bộ hóa. |
EnableAutoSync (const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec) | bật tự động đồng bộ hóa. |
GetCapacityOfContactList (void) const | int đơn giản getter cho số lượng liên hệ tối đa mà công cụ này được định cấu hình để lưu trữ |
GetClientState (void) const | getter đơn giản cho trạng thái khách hàng |
GetNextLikelihood (void) const | int8_t trích xuất khả năng tồn tại. |
GetServerState (void) const | getter đơn giản cho trạng thái máy chủ |
InitClient (void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | khởi tạo ứng dụng khách này. |
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) | khởi tạo bộ điều phối này. |
InitServer (void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh) | khởi tạo cho vai trò Máy chủ phải được gọi là chức năng đầu tiên sau khi xây dựng đối tượng nếu mục đích là Máy chủ Đồng bộ Thời gian. |
MulticastTimeChangeNotification (const uint8_t aEncryptionType, const uint16_t aKeyId) const | void Được gọi bởi lớp cao hơn để thông báo thay đổi thời gian phát đa hướng. |
RegisterCorrectionFromServerOrNtp (void) | void Được gọi bởi lớp cao hơn để cho biết rằng chúng tôi vừa hoàn thành một vòng đồng bộ thời gian với bất kỳ Máy chủ nào hoặc thông qua một số phương tiện đáng tin cậy như NTP. |
RegisterLocalSyncOperation (const uint8_t aNumContributor) | void Được gọi bởi lớp cao hơn để cho biết rằng chúng tôi vừa hoàn thành một vòng đồng bộ thời gian với các Điều phối viên địa phương khác. |
Shutdown (void) | ngừng dịch vụ, bất kể nó đang ở vai trò nào. |
Sync (const bool aForceDiscoverAgain) | đồng bộ hóa bằng cách sử dụng danh bạ hiện có. |
SyncWithNodes (const int16_t aNumNode, const ServingNode aNodes[]) | đồng bộ hóa bằng cách sử dụng danh sách liên hệ nhất định. |
SyncWithService ( WeaveConnection *const aConnection) | đồng bộ hóa bằng cách sử dụng kết nối TCP đã cho và mã hóa và mã khóa liên quan. |
Các chức năng được bảo vệ | |
---|---|
AbortOnError (const WEAVE_ERROR aCode) | void hủy bỏ nội bộ nếu aCode không phải là WEAVE_NO_ERROR |
AutoSyncNow (void) | void chức năng nội bộ để bắt đầu một phiên đồng bộ hóa tự động |
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) | gọi lại lớp ứng dụng. |
ClearState (void) | void |
DestroyCommContext (void) | bool đóng Weave ExchangeContext |
EndLocalSyncAndTryCalculateTimeFix (void) | void |
EndServiceSyncAndTryCalculateTimeFix (void) | void |
FindReplaceableContact (const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification) | Contact * trả lại một vị trí để lưu trữ thông tin liên hệ |
GetClientStateName (void) const | const char *const |
GetNextIdleContact (void) | Contact * có được liên hệ hợp lệ và nhàn rỗi tiếp theo để nói chuyện |
GetNumNotYetCompletedContacts (void) | int16_t nhận được số lượng liên hệ hợp lệ, nhưng chúng tôi chưa nói chuyện với họ. |
GetNumReliableResponses (void) | int16_t nhận được số lượng câu trả lời 'đáng tin cậy' được thu thập cho đến nay. |
InitState (const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr) | |
InvalidateAllContacts (void) | void vô hiệu hóa tất cả các địa chỉ liên hệ địa phương |
InvalidateServiceContact (void) | void vô hiệu hóa liên hệ với dịch vụ |
RegisterCommError ( Contact *const aContact) | void đăng ký lỗi giao tiếp trên một liên hệ nhất định và rút ngắn khoảng thời gian tự động phát hiện nếu cần a Liên hệ có thể là NULL để cho biết chúng tôi không có ai để nói chuyện và do đó chỉ cần rút ngắn khoảng thời gian tự động phát hiện |
SendSyncRequest (bool *const rIsMessageSent, Contact *const aContact) | gửi yêu cầu đồng bộ unicast đến một liên hệ. |
SetAllCompletedContactsToIdle (void) | int16_t đặt lại tất cả các liên hệ đã hoàn thành về trạng thái không hoạt động một lần nữa, nhưng không chạm vào phản hồi. |
SetAllValidContactsToIdleAndInvalidateResponse (void) | int16_t đặt tất cả các địa chỉ liên hệ cục bộ hợp lệ thành trạng thái không hoạt động và xóa phản hồi. |
SetClientState (const ClientState state) | void |
SetupUnicastCommContext ( Contact *const aContact) | tạo Weave Exchange mới để liên lạc unicast |
StoreNotifyingContact (const uint64_t aNodeId, const IPAddress & aNodeAddr) | void lưu trữ thông tin liên hệ của một nút vừa gửi cho chúng tôi thông báo thay đổi thời gian |
UpdateMulticastSyncResponse (const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse) | void xử lý phản hồi từ một yêu cầu phát đa hướng |
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse) | void xử lý phản hồi từ một yêu cầu unicast |
_InitClient (const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | khởi tạo cho vai trò Khách hàng. |
_InitServer (const bool aIsAlwaysFresh) | khởi tạo cho vai trò Máy chủ. |
_ShutdownClient (void) | dừng ứng dụng khách không có sẵn trong các cuộc gọi lại. |
_ShutdownCoordinator (void) | dừng điều phối viên không có sẵn trong các cuộc gọi lại. |
_ShutdownServer (void) | dừng máy chủ không khả dụng trong các lệnh gọi lại. |
Các chức năng tĩnh được bảo vệ | |
---|---|
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 gọi lại từ Weave Exchange khi có yêu cầu đồng bộ hóa thời gian |
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 gọi lại từ Weave Timer khi chúng tôi vượt qua rào cản không đáng tin cậy sau khi khởi động |
IsOperationalState ( ClientState aState) | bool Xác định xem trạng thái đã cho có hoạt động hay không. |
_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
trạng thái được sử dụng cho tính năng tự động đồng bộ hóa.
mIsUrgentDiscoveryPending
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 )
các chức năng chuyển đổi trạng thái này là nội bộ và không thể trả về mã lỗi vì trạng thái trước đó sẽ không có cách nào để xử lý chúng.
bất kỳ lỗi nào cuối cùng sẽ dẫn đến chuyển đổi trạng thái khác (có thể hết thời gian chờ) nếu ngay cả bộ đếm thời gian không thành công, chúng tôi không có thủ thuật và có thể bị treo ở một số trạng thái sai
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 )
Các loại công khai
ClientState
ClientState
trạng thái hiện tại của ứng dụng đồng bộ thời gian này
CommState
CommState
tình trạng giao tiếp đến một số liên lạc nhất định.
Đây là ở nơi công cộng vì Liên là ở nơi công cộng
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
gọi lại xảy ra ngay trước khi chúng tôi tính toán thời gian hiệu chỉnh từ các phản hồi.
lớp ứng dụng có thể ghi đè aContact [i] .mResponseStatus thành kResponseStatus_Invalid để phản hồi đó sẽ bị bỏ qua trong phép tính
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
OnSyncRequestReceiveHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
gọi lại để cho biết chúng tôi vừa nhận được yêu cầu đồng bộ thời gian.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Lợi nhuận | sai và động cơ sẽ bỏ qua yêu cầu này |
Trạng thái đáp ứng
ResponseStatus
trạng thái của phản hồi được lưu trữ cho một số liên lạc nhất định.
Đây là ở nơi công cộng vì Liên là ở nơi công cộng
ServerState
ServerState
trạng thái hiện tại của Máy chủ Đồng bộ hóa Thời gian này
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
gọi lại xảy ra khi đồng bộ hóa được coi là không thành công, bao gồm cả tự động đồng bộ hóa.
lưu ý rằng gọi lại không xảy ra nếu Abort được gọi để dừng đồng bộ hóa
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
gọi lại xảy ra sau khi đồng bộ hóa được coi là thành công, bao gồm đồng bộ hóa tự động, nhưng trước khi kết quả được áp dụng.
Lưu ý rằng thành công không có nghĩa là chúng ta có kết quả phù hợp. Trong trường hợp không nhận được phản hồi, aNumContributor sẽ được đặt thành 0. lớp ứng dụng có thể ghi đè aContact [i] .mResponseStatus thành kResponseStatus_Invalid để phản hồi sẽ bị bỏ qua trong phép tính
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||
Lợi nhuận | true nếu độ lệch này sẽ được sử dụng để điều chỉnh thời gian của hệ thống. trong trường hợp aNumContributor là 0, giá trị trả về sẽ bị bỏ qua. |
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
gọi lại để cho biết chúng tôi vừa nhận được Thông báo thay đổi thời gian.
nếu chế độ đồng bộ hóa tự động được bật, đồng bộ hóa thời gian sẽ được lên lịch ngay sau khi tự động gọi lại này. nếu không, lớp ứng dụng có thể chọn gọi nhóm chức năng Đồng bộ hóa để bắt đầu trực tiếp hoạt động đồng bộ hóa không bị hạn chế bởi quy tắc gọi lại thông thường. tuy nhiên, cần lưu ý rằng lệnh gọi lại đặc biệt này vẫn nằm trên ngăn xếp gọi lại của lớp trao đổi Weave.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
Thuộc tính công cộng
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestRenition
OnSyncRequestReceivedHandler OnSyncRequestReceived
nếu không được đặt, việc triển khai mặc định luôn trả về true
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
nếu không được đặt, hành vi mặc định sẽ lấy tất cả các kết quả, ngoại trừ các chỉnh sửa máy chủ rất nhỏ
OnTimeChangeNotificationRenition
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
phương pháp mã hóa cho giao tiếp cục bộ
mKeyId
uint16_t mKeyId
mã khóa được sử dụng cho giao tiếp cục bộ
Thuộc tính được bảo vệ
bản đồ
void * mApp
con trỏ đến dữ liệu lớp cao hơn
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Kết nối TCP được sử dụng để nói chuyện với dịch vụ.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Liên hệ thông tin học suốt khám phá.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
true nếu chúng ta đang gọi lại lớp cao hơn
mLastLikelikeSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Thực tế vai trò của nút này.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
lưu ý rằng nó phải là thời gian khởi động vì chúng tôi cần bù cho thời gian ngủ
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
lưu ý rằng nó phải là thời gian khởi động vì chúng tôi cần bù cho thời gian ngủ
Chức năng công cộng
Huỷ bỏ
WEAVE_ERROR Abort( void )
buộc động cơ quay trở lại trạng thái không tải, hủy bỏ bất cứ điều gì nó đang làm.
lưu ý rằng không có đồng bộ thành công hoặc thất bại sẽ được gọi. tất cả các Sàn giao dịch Weave sẽ bị đóng. Các kết nối TCP sẽ không được chạm vào nữa. không hoạt động nếu chúng ta đã ở trạng thái nhàn rỗi. không có sẵn trong các cuộc gọi lại.
Chi tiết | |
---|---|
Lợi nhuận | WEAVE_NO_ERROR thành công |
DisableAutoSync
void DisableAutoSync( void )
tắt tự động đồng bộ hóa.
chỉ khả dụng ở trạng thái nhàn rỗi. không có sẵn trong các cuộc gọi lại.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
bật tự động đồng bộ hóa.
chỉ có sẵn ở trạng thái nhàn rỗi. khám phá xảy ra ngay lập tức. không có sẵn trong các cuộc gọi lại.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Lợi nhuận | WEAVE_NO_ERROR thành công |
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
đơn giản getter cho số lượng địa chỉ liên hệ tối đa mà công cụ này được định cấu hình để lưu trữ
GetNextLikelike
int8_t GetNextLikelihood( void ) const
trích xuất khả năng tồn tại.
kết quả sẽ chỉ hợp lệ sau khi hoạt động đồng bộ hóa hoàn tất, trong các lệnh gọi lại của OnSyncSucceeded và OnSyncFailed. nếu không, nó chỉ là tạm thời và có thể là khả năng hiện tại hơn là khả năng tiếp theo sẽ được sử dụng.
Chi tiết | |
---|---|
Lợi nhuận | khả năng phản hồi sẽ được sử dụng trong yêu cầu tiếp theo |
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
khởi tạo ứng dụng khách này.
không có sẵn trong các cuộc gọi lại
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Lợi nhuận | WEAVE_NO_ERROR thành công |
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 )
khởi tạo bộ điều phối này.
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Lợi nhuận | WEAVE_NO_ERROR thành công |
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
khởi tạo cho vai trò Máy chủ phải được gọi là chức năng đầu tiên sau khi xây dựng đối tượng nếu mục đích là Máy chủ Đồng bộ Thời gian.
không có sẵn trong các cuộc gọi lại
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Lợi nhuận | WEAVE_NO_ERROR thành công |
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Được gọi bởi lớp cao hơn để thông báo thay đổi thời gian phát đa hướng.
không có sẵn trong các cuộc gọi lại.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Được gọi bởi lớp cao hơn để cho biết rằng chúng tôi vừa hoàn thành một vòng đồng bộ thời gian với bất kỳ Máy chủ nào hoặc thông qua một số phương tiện đáng tin cậy như NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Được gọi bởi lớp cao hơn để cho biết rằng chúng tôi vừa hoàn thành một vòng đồng bộ thời gian với các Điều phối viên địa phương khác.
Chi tiết | |||
---|---|---|---|
Thông số |
|
Tắt
WEAVE_ERROR Shutdown( void )
dừng dịch vụ, bất kể nó đang ở vai trò nào.
Hàm này phải được gọi để lấy lại đúng cách các tài nguyên được cấp phát, trước khi có thể thực hiện một lệnh gọi khác tới bất kỳ hàm init nào. không có sẵn trong các cuộc gọi lại.
Chi tiết | |
---|---|
Lợi nhuận | WEAVE_NO_ERROR thành công |
Đồng bộ hóa
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
đồng bộ hóa bằng cách sử dụng danh bạ hiện có.
hoạt động đồng bộ có thể không thành công nếu không có sẵn liên hệ hợp lệ. đặt aForceDiscoverAgain thành true để buộc khám phá ngay lập tức. chỉ khả dụng ở trạng thái nhàn rỗi. không có sẵn trong các cuộc gọi lại.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | WEAVE_NO_ERROR thành công |
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
đồng bộ hóa bằng cách sử dụng danh sách liên hệ nhất định.
danh sách liên hệ hiện có sẽ được xóa. chỉ khả dụng ở trạng thái nhàn rỗi. không có sẵn trong các cuộc gọi lại.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Lợi nhuận | WEAVE_NO_ERROR thành công |
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
đồng bộ hóa bằng cách sử dụng kết nối TCP đã cho và mã hóa và mã khóa liên quan.
người gọi phải có quyền sở hữu kết nối TCP sau khi đồng bộ hóa kết thúc. không có lệnh gọi lại nào sẽ bị ghi đè đối với kết nối TCP, vì một Weave Exchange mới sẽ được tạo và lệnh gọi lại được đặt trên ngữ cảnh đó chỉ khả dụng ở trạng thái nhàn rỗi. không có sẵn trong các cuộc gọi lại.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | WEAVE_NO_ERROR thành công |
TimeSyncNode
TimeSyncNode( void )
Các chức năng được bảo vệ
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
hủy bỏ nội bộ nếu aCode không phải là WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
chức năng nội bộ để bắt đầu một phiên đồng bộ hóa tự động
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 )
gọi lại lớp ứng dụng.
đặt aIsSuccessful thành false để gọi lại lỗi
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
trả lại một vị trí để lưu trữ thông tin liên hệ
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
có được liên hệ hợp lệ và nhàn rỗi tiếp theo để nói chuyện
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
nhận được số lượng liên hệ hợp lệ, nhưng chúng tôi chưa nói chuyện với họ.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
nhận được số lượng câu trả lời 'đáng tin cậy' được thu thập cho đến nay.
được gọi để xác định xem chúng tôi đã thu thập đủ số lượng câu trả lời hay chưa
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
vô hiệu hóa tất cả các địa chỉ liên hệ địa phương
InvalidateServiceContact
void InvalidateServiceContact( void )
vô hiệu hóa liên hệ với dịch vụ
RegisterCommError
void RegisterCommError( Contact *const aContact )
đăng ký lỗi giao tiếp trên một liên hệ nhất định và rút ngắn khoảng thời gian tự động phát hiện nếu cần a Liên hệ có thể là NULL để cho biết chúng tôi không có ai để nói chuyện và do đó chỉ cần rút ngắn khoảng thời gian tự động phát hiện
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
gửi yêu cầu đồng bộ unicast đến một liên hệ.
* rIsMessageSent sẽ được đặt để cho biết tin nhắn đã được gửi đi chưa. Các lỗi giao tiếp như địa chỉ không thể truy cập được sẽ không được trả lại, vì vậy người gọi sẽ kiểm tra cả mã trả lại và * rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
đặt lại tất cả các liên hệ đã hoàn thành về trạng thái không hoạt động nhưng không chạm vào phản hồi.
điều này được gọi là giữa hai vòng giao tiếp đến cùng một nút
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
đặt tất cả các địa chỉ liên hệ cục bộ hợp lệ thành trạng thái không hoạt động và xóa phản hồi.
cái này được gọi trước khi chúng tôi bắt đầu liên hệ với từng người một
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
tạo Weave Exchange mới để liên lạc unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
lưu trữ thông tin liên hệ của một nút vừa gửi cho chúng tôi thông báo thay đổi thời gian
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
xử lý phản hồi từ một yêu cầu phát đa hướng
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
xử lý phản hồi từ một yêu cầu unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
khởi tạo cho vai trò Khách hàng.
Dự định sẽ được sử dụng nội bộ bởi họ Init các chức năng công cộng. Phải đặt mClientState trước khi trả lại. không có sẵn trong các cuộc gọi lại
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Lợi nhuận | WEAVE_NO_ERROR thành công |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
khởi tạo cho vai trò Máy chủ.
Dự định sẽ được sử dụng nội bộ bởi họ Init các chức năng công cộng. Phải đặt mClientState trước khi trả lại. không có sẵn trong các cuộc gọi lại
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | WEAVE_NO_ERROR thành công |
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
dừng ứng dụng khách không có sẵn trong các cuộc gọi lại.
Chi tiết | |
---|---|
Lợi nhuận | WEAVE_NO_ERROR thành công |
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
dừng điều phối viên không có sẵn trong các cuộc gọi lại.
Chi tiết | |
---|---|
Lợi nhuận | WEAVE_NO_ERROR thành công |
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
dừng máy chủ không khả dụng trong các lệnh gọi lại.
Chi tiết | |
---|---|
Lợi nhuận | WEAVE_NO_ERROR thành công |
Các chức năng tĩnh được bảo vệ
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 )
gọi lại từ Weave Exchange khi có yêu cầu đồng bộ hóa thời gian
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 )
gọi lại từ Weave Timer khi chúng tôi vượt qua rào cản không đáng tin cậy sau khi khởi động
IsOperationalState
bool IsOperationalState( ClientState aState )
Xác định xem trạng thái đã cho có hoạt động hay không.
Phương pháp Tiện lợi để xác định xem ClientState có biểu thị trạng thái hoạt động hay không, tức là máy khách đã hoàn thành khởi tạo và không đang trong quá trình tắt.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | true nếu trạng thái rơi vào sau khi quá trình khởi tạo hoàn tất và trước khi quá trình tắt máy bắt đầu, ngược lại là false. |
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )