nl:: বুনা:: প্রোফাইল:: সময়:: একক সোর্সটাইম সিঙ্কক্লায়েন্ট

সারসংক্ষেপ

পাবলিক প্রকার

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
enum
এই টাইম সিঙ্ক ক্লায়েন্টের বর্তমান অবস্থা
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) typedef
void(*
উভয় সময় সিঙ্ক প্রচেষ্টা সম্পূর্ণ হওয়ার পরে কলব্যাক৷
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) typedef
void(*
আমরা এইমাত্র একটি সময় পরিবর্তনের বিজ্ঞপ্তি পেয়েছি ইঙ্গিত করার জন্য কলব্যাক৷

সুরক্ষিত প্রকার

@324 enum

পাবলিক বৈশিষ্ট্য

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

এই টাইম সিঙ্ক ক্লায়েন্টের বর্তমান অবস্থা

বৈশিষ্ট্য
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 হয়, অন্তত একটি প্রচেষ্টা সফল হয়েছে৷ অন্যথায় উভয়ই ত্রুটি কোডে ব্যর্থ হওয়া সর্বশেষ ব্যর্থতা নির্দেশ করে।

বিস্তারিত
পরামিতি
[in] aApp
Init-এ সেট করা অ্যাপ লেয়ার ডেটার একটি পয়েন্টার।
[in] aErrorCode
WEAVE_NO_ERROR যদি অন্তত একবার সিঙ্ক অপারেশন সফল হয়৷
[in] aCorrectedSystemTime
ত্রুটি কোড WEAVE_NO_ERROR হলে শুধুমাত্র বৈধ

টাইম চেঞ্জ নোটিফিকেশন হ্যান্ডলার

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

আমরা এইমাত্র একটি সময় পরিবর্তনের বিজ্ঞপ্তি পেয়েছি ইঙ্গিত করার জন্য কলব্যাক৷

Init এ NULL সেট করুন। সেট না থাকলে, সময় পরিবর্তনের বিজ্ঞপ্তি উপেক্ষা করা হবে। এই কলব্যাকে অ্যাপ লেয়ার অ্যাবর্ট এবং সিঙ্ক কল করার অনুমতি দেওয়া হয়েছে।

বিস্তারিত
পরামিতি
[in] aApp
Init-এ সেট করা অ্যাপ লেয়ার ডেটার একটি পয়েন্টার।
[in] aEC
এই আগত বার্তার জন্য ব্যবহৃত বিনিময় প্রসঙ্গ, যা এর সত্যতা যাচাই করতে ব্যবহার করা যেতে পারে

সুরক্ষিত প্রকার

@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

mOnSyncসম্পূর্ণ

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
এক্সচেঞ্জ ম্যানেজারের একটি পয়েন্টার, যা টাইম চেঞ্জ নোটিফিকেশন মেসেজ হ্যান্ডলারের জন্য নিবন্ধন করতে ব্যবহার করা হবে
রিটার্নস
সাফল্যে WEAVE_NO_ERROR

সুসংগত

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

প্রদত্ত বাইন্ডিং ব্যবহার করে সিঙ্ক করুন এবং প্রদত্ত পয়েন্টার ব্যবহার করে একটি কলব্যাক করে।

যদি একটি টাইম সিঙ্ক অপারেশন চলছে, তাহলে কলব্যাক না করেই এটি অস্পষ্টভাবে বাতিল হয়ে যাবে। কলব্যাক OnSyncCompleted-এ উপলব্ধ নয়, কিন্তু OnTimeChangeNotificationReceived-এ অনুমোদিত। ত্রুটি হলে, এই ফাংশন থেকে ফিরে আসার আগে Abort-কে পরোক্ষভাবে বলা হবে।

বিস্তারিত
পরামিতি
[in] aBinding
টাইম সার্ভারের সাথে যোগাযোগ করার জন্য বাইন্ডিং ব্যবহার করা হবে
[in] OnSyncCompleted
টাইম সিঙ্ক অপারেশন সম্পূর্ণ হওয়ার পরে কলব্যাক ফাংশন ব্যবহার করা হবে
রিটার্নস
সাফল্যে WEAVE_NO_ERROR

সুরক্ষিত ফাংশন

EnterSync2

void EnterSync2(
  void
)

চূড়ান্ত প্রক্রিয়াকরণ

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

রেজিস্টার করা ফলাফল বাতিল করুন

void InvalidateRegisteredResult(
  void
)

সময় সংশোধনের জন্য নিবন্ধিত তথ্য বাতিল করুন।

নিবন্ধিত ফলাফল বৈধ

bool IsRegisteredResultValid(
  void
)

সময় সংশোধনের জন্য নিবন্ধিত তথ্য বৈধ কিনা তা পরীক্ষা করুন।

OnResponseTimeout

void OnResponseTimeout(
  void
)

OnSyncResponse

void OnSyncResponse(
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

প্রসিড টু নেক্সটস্টেট

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
)

সেটক্লায়েন্টস্টেট

void SetClientState(
  const ClientState state
)

_AbortWithCallback

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
)

HandleTimeChangeNotification

void HandleTimeChangeNotification(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)