Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: Thời gian:: SingleSourceTimeSyncClient

Tóm lược

Các loại công khai

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
enum
trạng thái hiện tại của Ứng dụng đồng bộ thời gian này
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
Gọi lại sau khi cả hai lần thử đồng bộ hóa thời gian đã hoàn tất.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
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.

Các loại được bảo vệ

@324 enum

Thuộc tính công cộng

OnTimeChangeNotificationReceived

Thuộc tính được bảo vệ

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
được sử dụng để lưu trữ thời gian bay một chiều.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
được sử dụng để lưu trữ Dấu thời gian khi một kết quả được đăng ký
mRemoteTimestamp_usec
timesync_t
được sử 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 đi
mUnadjTimestampLastSent_usec
timesync_t

Chức năng công cộng

Abort (void)
void
Hủy thao tác đồng bộ thời gian hiện tại.
GetClientState (void) const
Truy xuất trạng thái hiện tại của khách hàng này.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Khởi tạo ứng dụng khách này.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Đồng bộ hóa bằng cách sử dụng Ràng buộc đã cho và thực hiện cuộc gọi lại bằng con trỏ được cung cấp.

Các chức năng được bảo vệ

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
Không hợp lệ thông tin đã đăng ký để sửa thời gian.
IsRegisteredResultValid (void)
bool
Kiểm tra xem thông tin đã đăng ký để chỉnh sửa thời gian có hợp lệ 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

Các chức năng 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

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

Tính chất
kClientState_Idle

Đã khởi tạo, đang đợi Thông báo thay đổi thời gian, nhưng không có hoạt động đồng bộ hóa thời gian thực nào diễn ra.

kClientState_Sync_1

Làm việc với lần thử đồng bộ hóa lần đầu tiên.

kClientState_Sync_2

Đang thực hiện lần thử đồng bộ hóa lần thứ hai.

SyncCompletionHandler

void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)

Gọi lại sau khi cả hai lần thử đồng bộ thời gian đã hoàn thành.

Nếu aErrorCode là WEAVE_NO_ERROR, ít nhất một lần thử đã thành công. Nếu không, cả hai đều không thành công tại aErrorCode cho biết lỗi mới nhất.

Chi tiết
Thông số
[in] aApp
Một con trỏ đến dữ liệu lớp ứng dụng, được đặt trong Init.
[in] aErrorCode
WEAVE_NO_ERROR nếu thao tác đồng bộ hóa ít nhất một lần thành công
[in] aCorrectedSystemTime
Chỉ hợp lệ nếu aErrorCode là WEAVE_NO_ERROR

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)

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 không được đặt, Thông báo thay đổi thời gian sẽ bị bỏ qua. Lớp ứng dụng được phép gọi Abort và Sync trong lần gọi lại này.

Chi tiết
Thông số
[in] aApp
Một con trỏ đến dữ liệu lớp ứng dụng, được đặt trong Init.
[in] aEC
Bối cảnh trao đổi được sử dụng cho tin nhắn đến này, có thể được sử dụng để xác nhận tính xác thực của nó

Các loại được bảo vệ

@ 324

 @324

Thuộc tính công cộng

OnTimeChangeNotificationReceive

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Thuộc tính được bảo vệ

bản đồ

void * mApp

mBinding

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

được sử 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

được sử dụng để lưu trữ Dấu thời gian khi một kết quả được đăng ký

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

được sử 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 đi

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Chức năng công cộng

Huỷ bỏ

void Abort(
  void
)

Hủy thao tác đồng bộ thời gian hiện tại.

Giải phóng ràng buộc . Hủy trao đổi tích cực. Chuyển trở lại trạng thái nhàn rỗi.

GetClientState

ClientState GetClientState(
  void
) const 

Truy xuất trạng thái hiện tại của khách hàng này.

Chi tiết
Lợi nhuận
tình trạng hiện tại

Trong đó

WEAVE_ERROR Init(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr
)

Khởi tạo ứng dụng khách này.

Phải được gọi trước khi các chức năng khác có thể được sử dụng. Zero / NULL khởi tạo tất cả dữ liệu nội bộ và đăng ký với Thông báo thay đổi thời gian.

Chi tiết
Thông số
[in] aApp
Một con trỏ đến dữ liệu lớp cao hơn, được sử dụng trong các lệnh gọi lại đến lớp cao hơn.
[in] aExchangeMgr
Một con trỏ tới Exchange Manager, sẽ được sử dụng để đăng ký trình xử lý thông báo Thông báo Thay đổi Thời gian
Lợi nhuận
WEAVE_NO_ERROR thành công

Đồng bộ hóa

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Đồng bộ hóa bằng cách sử dụng Ràng buộc đã cho và thực hiện cuộc gọi lại bằng con trỏ được cung cấp.

Nếu có một hoạt động đồng bộ hóa thời gian đang diễn ra, nó sẽ bị hủy bỏ một cách ngầm định mà không thực hiện gọi lại. Không khả dụng trong OnSyncCompleted gọi lại, nhưng được phép trong OnTimeChangeNotificationReceive. Nếu có lỗi, Abort sẽ được gọi ngầm trước khi trả về từ hàm này.

Chi tiết
Thông số
[in] aBinding
Ràng buộc được sử dụng để liên hệ với máy chủ thời gian
[in] OnSyncCompleted
Chức năng gọi lại sẽ được sử dụng sau khi hoàn tất các hoạt động đồng bộ thời gian
Lợi nhuận
WEAVE_NO_ERROR thành công

Các chức năng được bảo vệ

EnterSync2

void EnterSync2(
  void
)

FinalProcessing

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

InvalidateRegisteredResult

void InvalidateRegisteredResult(
  void
)

Không hợp lệ thông tin đã đăng ký để sửa thời gian.

IsRegisteredResultValid

bool IsRegisteredResultValid(
  void
)

Kiểm tra xem thông tin đã đăng ký để chỉnh sửa thời gian có hợp lệ 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
)

Các chức năng 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
)