nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Tóm tắt
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 |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Lệnh gọi lại sau khi đã hoàn tất cả hai lượt đồng bộ hoá về thời gian. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Lệnh gọi lại để cho biết chúng tôi vừa nhận được một Thông báo thay đổi thời gian. |
Kiểu được bảo vệ |
|
---|---|
@324
|
enum |
Các thuộc tính công khai |
|
---|---|
OnTimeChangeNotificationReceived
|
Thuộc tính được bảo vệ |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
dùng để lưu trữ thời gian bay một chiều.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
dùng để lưu trữ Dấu thời gian khi kết quả được đăng ký
|
mRemoteTimestamp_usec
|
timesync_t
dùng để lưu trữ thời gian hệ thống của nút từ xa, khi thông báo phản hồi sắp được gửi
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Hàm công khai |
|
---|---|
Abort(void)
|
void
Huỷ hoạt động đồng bộ hoá thời gian hiện tại.
|
GetClientState(void) const
|
Truy xuất trạng thái hiện tại của ứng dụng này.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Khởi chạy ứng dụng này.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
Đồng bộ hoá bằng cách sử dụng Binding đã cho và thực hiện lệnh gọi lại bằng con trỏ được cung cấp.
|
Hàm được bảo vệ |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
Vô hiệu hoá thông tin đã đăng ký để chỉnh sửa thời gian.
|
IsRegisteredResultValid(void)
|
bool
Kiểm tra xem thông tin đã đăng ký sửa thời gian có hợp lệ hay không.
|
OnResponseTimeout(void)
|
void
|
OnSyncResponse(uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
ProceedToNextState(void)
|
void
|
RegisterSyncResultIfNewOrBetter(const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
|
void
|
SendSyncRequest(void)
|
|
SetClientState(const ClientState state)
|
void
|
_AbortWithCallback(const WEAVE_ERROR aErrorCode)
|
void
|
Hàm tĩnh được bảo vệ |
|
---|---|
HandleResponseTimeout(ExchangeContext *aEC)
|
void
|
HandleSyncResponse(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
HandleTimeChangeNotification(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
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
Thuộc tính | |
---|---|
kClientState_Idle
|
Đã khởi chạy, đang chờ Thông báo thay đổi thời gian, nhưng không có hoạt động đồng bộ hoá thời gian thực nào diễn ra. |
kClientState_Sync_1
|
Đang xử lý lần đồng bộ hoá đầu tiên. |
kClientState_Sync_2
|
Đang xử lý lần đồng bộ hoá lần thứ hai. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Lệnh gọi lại sau khi đã hoàn tất cả hai lượt đồng bộ hoá về thời gian.
Nếu aErrorCode là WEAVE_NO_ERROR, thì bạn đã thử ít nhất một lần. Nếu không, cả hai đều không thành công tại aErrorCode cho biết lỗi gần đây nhất.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Lệnh gọi lại để cho biết chúng tôi vừa nhận được một Thông báo thay đổi thời gian.
Đặt thành NULL tại Init. Nếu bạn không đặt chính sách này, thì Thông báo thay đổi thời gian sẽ bị bỏ qua. Lớp ứng dụng được phép gọi tính năng Huỷ bỏ và đồng bộ hoá trong lệnh gọi lại này.
Chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
Kiểu được bảo vệ
@324
@324
Các thuộc tính công khai
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
Thuộc tính được bảo vệ
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
dùng để lưu trữ thời gian bay một chiều.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
dùng để lưu trữ Dấu thời gian khi kết quả được đăng ký
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
dùng để lưu trữ thời gian hệ thống của nút từ xa, khi thông báo phản hồi sắp được gửi
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Hàm công khai
Hủy
void Abort( void )
Huỷ hoạt động đồng bộ hoá thời gian hiện tại.
Liên kết nhả ra. Huỷ giao dịch đang hoạt động. Chuyển về trạng thái rảnh.
GetClientState
ClientState GetClientState( void ) const
Truy xuất trạng thái hiện tại của ứng dụng này.
Chi tiết | |
---|---|
Trả về |
trạng thái hiện tại
|
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Khởi chạy ứng dụng này.
Phải được gọi trước khi có thể sử dụng các hàm khác. Không/NULL sẽ khởi tạo tất cả dữ liệu nội bộ và đăng ký bằng Thông báo thay đổi thời gian.
Chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Trả về |
WEAVE_NO_ERROR khi thành công
|
Đồng bộ hoá
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Đồng bộ hoá bằng cách sử dụng Binding đã cho và thực hiện lệnh gọi lại bằng con trỏ được cung cấp.
Nếu có một thao tác đồng bộ hoá thời gian đang diễn ra, thao tác này sẽ bị huỷ bỏ ngầm mà không thực hiện lệnh gọi lại. Không có sẵn trong lệnh gọi lại OnSyncCompleted, nhưng được phép trong OnTimeChangeNotificationReceived . Nếu xảy ra lỗi, lệnh Cancel (Huỷ) sẽ được gọi ngầm định trước khi quay lại từ hàm này.
Chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Trả về |
WEAVE_NO_ERROR khi thành công
|
Hàm được bảo vệ
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Vô hiệu hoá thông tin đã đăng ký để chỉnh sửa thời gian.
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Kiểm tra xem thông tin đã đăng ký sửa thời gian có hợp lệ hay không.
OnResponseTimeout
void OnResponseTimeout( void )
OnSyncResponse
void OnSyncResponse( uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
ProceedToNextState
void ProceedToNextState( void )
RegisterSyncResultIfNewOrBetter
void RegisterSyncResultIfNewOrBetter( const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec )
SendSyncRequest
WEAVE_ERROR SendSyncRequest( void )
SetClientState
void SetClientState( const ClientState state )
_AbortWithCallback
void _AbortWithCallback( const WEAVE_ERROR aErrorCode )
Hàm tĩnh được bảo vệ
HandleResponseTimeout
void HandleResponseTimeout( ExchangeContext *aEC )
HandleSyncResponse
void HandleSyncResponse( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )