nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
요약
공개 유형 |
|
---|---|
ClientState{
|
enum 이 시간 동기화 클라이언트의 현재 상태 |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
두 시간 동기화 시도가 모두 완료된 후 콜백입니다. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
방금 시간 변경 알림을 수신했음을 나타내는 콜백입니다. |
보호된 유형 |
|
---|---|
@324
|
enum |
공개 속성 |
|
---|---|
OnTimeChangeNotificationReceived
|
보호된 속성 |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
편도 항공편 시간을 저장하는 데 사용됩니다.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
결과가 등록될 때 타임스탬프를 저장하는 데 사용됩니다.
|
mRemoteTimestamp_usec
|
timesync_t
응답 메시지가 전송되려고 할 때 원격 노드의 시스템 시간을 저장하는 데 사용됨
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
공개 함수 |
|
---|---|
Abort(void)
|
void
현재 시간 동기화 작업을 취소합니다.
|
GetClientState(void) const
|
이 클라이언트의 현재 상태를 검색합니다.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
이 클라이언트를 초기화합니다.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
주어진 Binding을 사용하여 동기화하고 제공된 포인터를 사용하여 콜백을 만듭니다.
|
보호된 함수 |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
시간 수정을 위해 등록된 정보를 무효화합니다.
|
IsRegisteredResultValid(void)
|
bool
시간 수정을 위해 등록된 정보가 올바른지 확인하세요.
|
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
|
보호되는 정적 함수 |
|
---|---|
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
|
공개 유형
ClientState
ClientState
이 시간 동기화 클라이언트의 현재 상태
속성 | |
---|---|
kClientState_Idle
|
초기화되어 시간 변경 알림을 대기 중이지만 실제 시간 동기화 작업이 발생하지 않습니다. |
kClientState_Sync_1
|
동기화를 처음 시도 중입니다. |
kClientState_Sync_2
|
두 번째 동기화 시도 중입니다. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
두 시간 동기화 시도가 모두 완료된 후 콜백입니다.
aErrorCode가 WEAVE_NO_ERROR인 경우 1회 이상의 시도가 성공한 것입니다. 그렇지 않은 경우 두 가지 모두 aErrorCode에서 실패하는 경우 최신 실패를 나타냅니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
방금 시간 변경 알림을 수신했음을 나타내는 콜백입니다.
Init에서 NULL로 설정됩니다. 설정하지 않으면 시간 변경 알림이 무시됩니다. 앱 레이어는 이 콜백에서 취소 및 동기화를 호출할 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
보호된 유형
@324
@324
공개 속성
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
보호된 속성
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
편도 항공편 시간을 저장하는 데 사용됩니다.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
결과가 등록될 때 타임스탬프를 저장하는 데 사용됩니다.
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
응답 메시지가 전송되려고 할 때 원격 노드의 시스템 시간을 저장하는 데 사용됨
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
공개 함수
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
이 클라이언트를 초기화합니다.
다른 함수를 사용하려면 먼저 호출해야 합니다. 0/NULL은 모든 내부 데이터를 초기화하고 시간 변경 알림에 등록합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 WEAVE_NO_ERROR
|
동기화
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
주어진 Binding을 사용하여 동기화하고 제공된 포인터를 사용하여 콜백을 만듭니다.
진행 중인 시간 동기화 작업이 있으면 콜백이 실행되지 않고 암시적으로 취소됩니다. OnSyncCompleted 콜백에서는 사용할 수 없지만 OnTimeChangeNotificationReceived에서는 허용됩니다 . 오류가 발생하면 이 함수에서 반환되기 전에 Abort가 암시적으로 호출됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 WEAVE_NO_ERROR
|
보호된 함수
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
시간 수정을 위해 등록된 정보를 무효화합니다.
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
시간 수정을 위해 등록된 정보가 올바른지 확인하세요.
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 )
보호되는 정적 함수
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 )