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à phá huỷ |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
các trạng thái 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à 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ý.
|
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 của 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 này diễn ra ngay trước khi chúng ta tính toán thời gian điều chỉnh phản hồi. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
để cho biết chúng tôi vừa nhận được một 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ữ cho 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 diễn ra khi quá trình đồng bộ hoá được cho là không thành công, bao gồm cả quá trình đồng bộ hoá tự động. |
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, kể cả khi quá trình đồng bộ hoá tự động diễn ra, nhưng trước khi kết quả được áp dụng. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
để cho biết chúng tôi vừa nhận được một Thông báo thay đổi thời gian. |
Các 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 không được đặt, hành vi mặc định sẽ lấy tất cả kết quả, ngoại trừ những chỉnh sửa rất nhỏ đối với máy chủ
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
phương thức mã hoá liên lạc cục bộ
|
mKeyId
|
uint16_t
mã khoá dùng để liên lạc 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ệ được thu thập trong suốt quá trình khám phá.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
true nếu chúng ta đang gọi lại đến lớ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
lưu ý rằng đó 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 đó phải là thời gian khởi động vì chúng tôi cần bù cho thời gian ngủ
|
Hàm công khai |
|
---|---|
Abort(void)
|
buộc công cụ quay lại trạng thái rảnh, huỷ mọi việc mà công cụ đ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 máy khách
|
GetNextLikelihood(void) const
|
int8_t
trích xuất khả năng cố định.
|
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)
|
khởi chạy trình đ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 dưới dạng hàm đầu tiên sau khi tạo đối tượng nếu bạn muốn trở thành 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 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 chúng ta vừa hoàn thành 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 tiện đá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 thành một vòng đồng bộ hoá với các Điều phối viên cục bộ khác.
|
Shutdown(void)
|
dừng dịch vụ, bất kể dịch vụ đó đang đóng vai trò nào.
|
Sync(const bool aForceDiscoverAgain)
|
đồng bộ hoá bằng danh bạ hiện tại.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
đồng bộ hoá bằng danh sách địa chỉ liên hệ đã cho.
|
SyncWithService(WeaveConnection *const aConnection)
|
đồng bộ hoá bằng cách sử dụng kết nối TCP đã cho, mã hoá được liên kết và mã khoá.
|
Hàm được bảo vệ |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
huỷ nội bộ nếu aCode không phải là WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
hàm nội bộ để khởi động một 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 ra 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ả lại một khe cắm để lưu thông tin liên hệ
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
xem người liên hệ hợp lệ và đang rảnh tiếp theo để nói chuyện
|
GetNumNotYetCompletedContacts(void)
|
int16_t
biết số 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 "đáng tin cậy" câu trả lời đã thu thập cho đến thời điểm này.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
vô hiệu hóa tất cả địa chỉ liên hệ cục bộ
|
InvalidateServiceContact(void)
|
void
vô hiệu hoá người liên hệ với dịch vụ
|
RegisterCommError(Contact *const aContact)
|
void
đăng ký lỗi liên lạc trên một số liên hệ nhất định và rút ngắn khoảng thời gian tự động khám phá nếu cần, Contact có thể là NULL để cho biết rằng chúng ta không có ai để trao đổi, do đó chỉ cần rút ngắn khoảng thời gian tự động khám phá
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
gửi yêu cầu đồng bộ hoá unicast đến một địa chỉ liên hệ.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
đặt lại tất cả các địa chỉ liên hệ đã hoàn tất về trạng thái rảnh, nhưng đừng chạm vào phản hồi.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
đặt tất cả các địa chỉ liên hệ hợp lệ trên máy ở 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 quay lại từ một yêu cầu phát đa hướng
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
xử lý phản hồi trở lại 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ò Ứng dụng khách.
|
_InitServer(const bool aIsAlwaysFresh)
|
khởi tạo cho vai trò Máy chủ.
|
_ShutdownClient(void)
|
ngăn ứng dụng không có trong lệnh gọi lại.
|
_ShutdownCoordinator(void)
|
dừng trình điều phối không có trong lệnh gọi lại.
|
_ShutdownServer(void)
|
ngăn 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á 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
lệnh gọi lại từ Weave Timer khi chúng tôi vượt qua rào cản khởi động không đáng tin cậy
|
IsOperationalState(ClientState aState)
|
bool
Xác định xem trạng thái cụ thể có đang 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 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à 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ý.
bất kỳ lỗi nào cũng sẽ dẫn đến một quá trình chuyển đổi trạng thái khác (có thể là hết thời gian chờ) nếu ngay cả bộ tính giờ không thành công, chúng ta đã hết lỗi và có thể bị treo ở trạng thái không chính xác
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 của 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ệ đang ở chế độ công khai
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
lệnh gọi lại này diễn ra ngay trước khi chúng ta tính toán thời gian điều chỉnh 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 | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
để cho biết chúng tôi vừa nhận được một yêu cầu đồng bộ hoá thời gian.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông 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ữ cho 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ệ đang ở 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 tiện 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 diễn ra khi quá trình đồng bộ hoá được cho là không thành công, bao gồm cả quá trình đồng bộ hoá tự động.
lưu ý rằng lệnh gọi lại sẽ không xảy ra nếu tính năng Huỷ bỏ được gọi để ngừng đồng bộ hoá
Thông tin 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)
lệnh gọi lại xảy ra sau khi quá trình đồng bộ hoá được coi là thành công, kể cả khi quá trình đồng bộ hoá tự động diễn ra, nhưng trước khi kết quả được áp dụng.
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 quá trình tính toán
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||
Trả về |
true nếu mức chênh lệch này sẽ đượ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 một Thông báo thay đổi thời gian.
nếu bạn bật chế độ tự động đồng bộ hoá, thì quá trình đồng bộ hoá sẽ tự động được lên lịch ngay sau khi lệnh gọi lại này tự động diễn ra. nếu không, lớp ứng dụng có thể chọn gọi nhóm chức năng Đồ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 thông thường không sẵn dùng trong lệnh gọi lại. 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.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
Các 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 không được đặt, hành vi mặc định sẽ lấy tất cả kết quả, ngoại trừ những chỉnh sửa rất nhỏ đối với máy chủ
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
phương thức mã hoá liên lạc cục bộ
mKeyId
uint16_t mKeyId
mã khoá dùng để liên lạc 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ệ được thu thập trong suốt quá trình khám phá.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
true nếu chúng ta đang gọi lại đến lớ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
lưu ý rằng đó 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 đó phải là thời gian khởi động vì chúng tôi cần bù cho thời gian ngủ
Hàm công khai
Hủy
WEAVE_ERROR Abort( void )
buộc công cụ quay lại trạng thái rảnh, huỷ mọi việc mà công cụ đang thực hiện.
lưu ý rằng sẽ không có lệnh đồng bộ hoá thành công hay thất bại nào. tất cả các sàn giao dịch Weave sẽ đóng cửa. Các kết nối TCP sẽ không được tiếp tục. không có hoạt động nào nếu chúng ta đã ở trạng thái rảnh. 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
|
DisableAutoSync
void DisableAutoSync( void )
tắt tự động đồng bộ hoá.
chỉ dùng được ở trạng thái rảnh. không có 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ỉ dùng được ở trạng thái rảnh. khám phá xảy ra ngay lập tức. không có trong lệnh gọi lại.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông 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 khách
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
trích xuất khả năng cố định.
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 thì đó là tạm thời và có thể là Khả năng hiện tại chứ không phải là Khả năng tiếp theo được sử dụng.
Thông tin chi tiết | |
---|---|
Trả về |
khả năng phản hồi sẽ được 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 lệnh gọi lại
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông 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 )
khởi chạy trình điều phối này.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông 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 bạn muốn trở thành Máy chủ đồng bộ hoá thời gian.
không có trong lệnh gọi lại
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông 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 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 | |||||
---|---|---|---|---|---|
Thông số |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Được lớp cao hơn gọi để cho biết chúng ta vừa hoàn thành 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 tiện đá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 thành một vòng đồng bộ hoá với các Điều phối viên cục bộ khác.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
Tắt
WEAVE_ERROR Shutdown( void )
dừng dịch vụ, bất kể dịch vụ đó đang đóng vai trò nào.
Hàm này phải được gọi để xác nhận lại đúng cách tài nguyên đã phân bổ, trước khi có thể thực hiện một lệnh gọi khác đến bất kỳ hàm khởi tạo 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 tại.
thao tác đồng bộ hoá có thể không thành công nếu không có danh bạ hợp lệ. đặt aForceExploreAgain thành true (đúng) để buộc khám phá ngay lập tức. chỉ dùng được ở trạng thái rảnh. không có trong lệnh gọi lại.
Thông tin chi tiết | |||
---|---|---|---|
Thông 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 địa chỉ liên hệ đã cho.
danh bạ hiện tại sẽ bị xoá. chỉ dùng được ở trạng thái rảnh. không có trong lệnh gọi lại.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
WEAVE_NO_ERROR khi thành công
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
đồng bộ hoá bằng cách sử dụng kết nối TCP đã cho, mã hoá được liên kết và mã khoá.
phương thức gọi phải nắm quyền sở hữu kết nối TCP sau khi quá trình đồng bộ hoá hoàn tất. không có lệnh gọi lại nào bị ghi đè cho kết nối TCP, vì một Weave Exchange mới sẽ được tạo và các lệnh gọi lại được thiết lập dựa trên ngữ cảnh đó chỉ có sẵn ở trạng thái rảnh. không có trong lệnh gọi lại.
Thông tin chi tiết | |||
---|---|---|---|
Thông 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 )
huỷ nội bộ nếu aCode không phải là WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
hàm nội bộ để khởi động một 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 ra lệnh gọi lại đến lớp ứng dụng.
đặt aIsThành công 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ả lại một khe cắm để lưu thông tin liên hệ
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
xem người liên hệ hợp lệ và đang rảnh tiếp theo để nói chuyện
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
biết số 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 "đáng tin cậy" câu trả lời đã thu thập cho đến thời điểm này.
đượ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ả địa chỉ liên hệ cục bộ
InvalidateServiceContact
void InvalidateServiceContact( void )
vô hiệu hoá người liên hệ với dịch vụ
RegisterCommError
void RegisterCommError( Contact *const aContact )
đăng ký lỗi liên lạc trên một số liên hệ nhất định và rút ngắn khoảng thời gian tự động khám phá nếu cần, Contact có thể là NULL để cho biết rằng chúng ta không có ai để trao đổi, do đó chỉ cần rút ngắn khoảng thời gian tự động khám phá
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
gửi yêu cầu đồng bộ hoá unicast đến một địa chỉ liên hệ.
*rIsMessageSent sẽ được thiết lập để cho biết tin nhắn đã được gửi đi hay chưa. các lỗi giao tiếp như không liên hệ được với địa chỉ sẽ 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ả các địa chỉ liên hệ đã hoàn tất về trạng thái rảnh, nhưng đừng chạm vào phản hồi.
hàm này được gọi 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ệ hợp lệ trên máy ở trạng thái rảnh và xoá phản hồi.
số 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 để 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 quay lạ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 trở lại 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ò Ứng dụng khách.
Dành cho nhóm chức năng công khai của Init sử dụng nội bộ. Phải đặt mClientState trước khi trả về. không có trong lệnh gọi lại
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Trả về |
WEAVE_NO_ERROR khi thành công
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
khởi tạo cho vai trò Máy chủ.
Dành cho nhóm chức năng công khai của Init sử dụng nội bộ. Phải đặt mClientState trước khi trả về. không có trong lệnh gọi lại
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
WEAVE_NO_ERROR khi thành công
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
ngăn ứng dụng 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
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
dừng trình điều phối 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
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
ngăn 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á 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 )
lệnh gọi lại từ Weave Timer khi chúng tôi vượt qua rào cản khởi động không đáng tin cậy
IsOperationalState
bool IsOperationalState( ClientState aState )
Xác định xem trạng thái cụ thể có đang 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 | |||
---|---|---|---|
Thông số |
|
||
Trả về |
true nếu trạng thái rơi vào sau khi quá trình khởi chạy hoàn tất và trước khi quá trình tắt nguồn bắt đầu, nếu không thì sẽ trả về 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 )