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