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ần đồng bộ hoá. |
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 Thông báo thay đổi thời gian. |
Kiểu được bảo vệ |
|
---|---|
@324
|
enum |
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ỷ thao tác đồ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)
|
Hãy khởi động ứ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ý để sửa thời gian.
|
IsRegisteredResultValid(void)
|
bool
Kiểm tra xem thông tin đã đăng ký cho tính năng chỉnh 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 động, đ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 tế nào diễn ra. |
kClientState_Sync_1
|
Đang hoạt động trong lần đồng bộ hoá đầu tiên. |
kClientState_Sync_2
|
Đang cố gắng đồ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ần đồng bộ hoá.
Nếu aErrorCode là WEAVE_NO_ERROR, thì ít nhất một lần thử đã thành công. Nếu không, cả hai đều bị lỗi tại aErrorCode cho biết lỗi mới nhất.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các 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 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ô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.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
Kiểu được bảo vệ
@324
@324
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ỷ thao tác đồng bộ hoá thời gian hiện tại.
Phát hành Liên kết. Huỷ sàn 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.
Thông tin chi tiết | |
---|---|
Trả về |
trạng thái hiện tại
|
Bắt đầu
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Hãy khởi động ứng dụng này.
Bạn phải gọi các hàm khác trước khi có thể sử dụng các hàm khác. Zero/NULL khởi chạy tất cả dữ liệu nội bộ và đăng ký bằng Thông báo thay đổi thời gian.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các 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ó hoạt động đồng bộ hoá thời gian đang diễn ra, hoạt động này sẽ bị huỷ hoàn toàn mà không thực hiện lệnh gọi lại. Không có trong lệnh gọi lại OnSyncCompleted, nhưng được phép trong OnTimeChangeNotificationReceived . Khi gặp lỗi, tính năng Huỷ bỏ sẽ được gọi ngầm trước khi trả về từ hàm này.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các 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ý để sửa thời gian.
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Kiểm tra xem thông tin đã đăng ký cho tính năng chỉnh 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 )
_cancelWithCallback
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 )