Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: 프로필 :: 시각:: SingleSourceTimeSyncClient

요약

공개 유형

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
열거 형
이 Time Sync 클라이언트의 현재 상태
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
두 시간 동기화 시도가 완료된 후 콜백.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
시간 변경 알림을 방금 받았음을 나타내는 콜백입니다.

보호 된 유형

@324 열거 형

공용 속성

OnTimeChangeNotificationReceived

보호 된 속성

mApp
void *
mBinding
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)
동기화는 주어진 사용하여 바인딩 제공된 포인터를 사용하여 콜백을합니다.

보호 된 기능

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

이 Time Sync Client의 현재 상태

속성
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이면 적어도 한 번의 시도가 성공한 것입니다. 그렇지 않으면 둘 다 aErrorCode에서 실패하면 최근 실패를 나타냅니다.

세부
매개 변수
[in] aApp
Init에 설정된 앱 레이어 데이터에 대한 포인터입니다.
[in] aErrorCode
WEAVE_NO_ERROR 적어도 하나의 시간 동기화 작업이 성공하면
[in] aCorrectedSystemTime
aErrorCode 인 경우에만 유효 WEAVE_NO_ERROR가

TimeChangeNotificationHandler

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

시간 변경 알림을 방금 받았음을 나타내는 콜백입니다.

에서 NULL로 설정 초기화 . 설정하지 않으면 시간 변경 알림이 무시됩니다. 앱 레이어는이 콜백에서 Abort 및 Sync를 호출 할 수 있습니다.

세부
매개 변수
[in] aApp
Init에 설정된 앱 레이어 데이터에 대한 포인터입니다.
[in] aEC
이 수신 메시지에 사용되는 Exchange 컨텍스트로, 신뢰성을 확인하는 데 사용할 수 있습니다.

보호 된 유형

@ 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

공공 기능

중단

void Abort(
  void
)

현재 시간 동기화 작업을 중단합니다.

해제 바인딩 . 활성 교환을 중단합니다. 유휴 상태로 돌아갑니다.

GetClientState

ClientState GetClientState(
  void
) const 

이 클라이언트의 현재 상태를 검색합니다.

세부
보고
현재 상태

초기화

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

이 클라이언트를 초기화하십시오.

다른 함수를 사용하려면 먼저 호출해야합니다. Zero / NULL은 모든 내부 데이터를 초기화하고 시간 변경 알림에 등록합니다.

세부
매개 변수
[in] aApp
상위 레이어에 대한 콜백에 사용되는 상위 레이어 데이터에 대한 포인터입니다.
[in] aExchangeMgr
시간 변경 알림 메시지 처리기를 등록하는 데 사용되는 Exchange Manager에 대한 포인터
보고
성공시 WEAVE_NO_ERROR

동조

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

동기화는 주어진 사용하여 바인딩 제공된 포인터를 사용하여 콜백을합니다.

시간 동기화 작업이 진행 중이면 콜백을 수행하지 않고 암시 적으로 중단됩니다. 콜백 OnSyncCompleted에서는 사용할 수 없지만 OnTimeChangeNotificationReceived에서는 허용됩니다. 오류가 발생하면이 함수에서 반환하기 전에 Abort가 암시 적으로 호출됩니다.

세부
매개 변수
[in] aBinding
바인딩 시간 서버에 접속에 사용되는
[in] OnSyncCompleted
시간 동기화 작업이 완료된 후 사용할 콜백 기능
보고

보호 된 기능

EnterSync2

void EnterSync2(
  void
)

최종 처리

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
)