nl::Weave::Profiles::Time::TimeSyncNode

खास जानकारी

इनहेरिटेंस

इनसे इनहेरिट: nl::Weave::Profiles::Time::_TimeSyncNodeBase

कंस्ट्रक्टर और डिस्ट्रक्टर

TimeSyncNode(void)
mBootTimeForNextAutoDiscovery_usec
timesync_t
mIsAutoSyncEnabled
bool
अपने-आप सिंक होने की सुविधा के लिए इस्तेमाल किए जाने वाले स्टेटस.
mIsUrgentDiscoveryPending
bool
mNominalDiscoveryPeriod_msec
int32_t
mShortestDiscoveryPeriod_msec
int32_t
mSyncPeriod_msec
int32_t
mActiveContact
के बारे में बात करेंगे.
mExchangeContext
mUnadjTimestampLastSent_usec
timesync_t
EnterState_Discover(void)
void
ये अवस्थाएं ट्रांज़िशन फ़ंक्शन अंदरूनी होते हैं और इनसे गड़बड़ी का कोड नहीं मिल सकता, क्योंकि पिछली स्थिति में इन्हें हैंडल करने का कोई तरीका नहीं होगा.
EnterState_ServiceSync_1(void)
void
EnterState_ServiceSync_2(void)
void
EnterState_Sync_1(void)
void
EnterState_Sync_2(void)
void

सार्वजनिक टाइप

ClientState enum
इस टाइम सिंक क्लाइंट की मौजूदा स्थिति
CommState enum
किसी व्यक्ति से बातचीत की स्थिति के बारे में हो.
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize) typedef
void(*
रिस्पॉन्स से समय में सुधार का हिसाब लगाने से ठीक पहले, कॉलबैक हो जाता है.
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) typedef
bool(*
यह बताने के लिए कॉलबैक करें कि हमें अभी-अभी समय सिंक करने का अनुरोध मिला है.
ResponseStatus enum
किसी संपर्क के लिए सेव किए गए जवाब की स्थिति.
ServerState{
  kServerState_UnreliableAfterBoot,
  kServerState_Idle
}
enum
इस टाइम सिंक सर्वर की मौजूदा स्थिति
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
कॉलबैक तब होता है, जब सिंक की प्रोसेस पूरी नहीं हो सकी. इसमें, अपने-आप सिंक होने की सुविधा भी शामिल है.
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) typedef
bool(*
कॉलबैक, सिंक की प्रोसेस पूरी होने के बाद होता है. इसमें, अपने-आप सिंक होने की सुविधा भी शामिल है. हालांकि, नतीजे लागू होने से पहले यह प्रोसेस होती है.
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) typedef
void(*
यह बताने के लिए कॉलबैक करें कि हमें अभी-अभी समय में बदलाव की सूचना मिली है.

सार्वजनिक एट्रिब्यूट

FilterTimeCorrectionContributor
OnSyncFailed
OnSyncRequestReceived
अगर यह नीति सेट नहीं है, तो डिफ़ॉल्ट तौर पर लागू किया गया विकल्प हमेशा 'सही' दिखाता है
OnSyncSucceeded
अगर इस नीति को सेट नहीं किया जाता है, तो सर्वर में बहुत छोटे सुधार करने के अलावा, डिफ़ॉल्ट तौर पर सभी नतीजे शामिल होते हैं
OnTimeChangeNotificationReceived
mEncryptionType
uint8_t
लोकल कम्यूनिकेशन को एन्क्रिप्ट (सुरक्षित) करने का तरीका
mKeyId
uint16_t
लोकल कम्यूनिकेशन के लिए इस्तेमाल किया जाने वाला कुंजी आईडी

सुरक्षित एट्रिब्यूट

mApp
void *
ऊपर की लेयर के डेटा का पॉइंटर
mClientState
mConnectionToService
सेवा से बात करने के लिए इस्तेमाल किया गया टीसीपी कनेक्शन.
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
खोजे जाने के दौरान मिली संपर्क जानकारी.
mIsAlwaysFresh
bool
mIsInCallback
bool
अगर हम उच्च लेयर पर कॉलबैक में हैं, तो 'सही'
mLastLikelihoodSent
int8_t
mNumContributorInLastLocalSync
uint8_t
mRole
TimeSyncRole
इस नोड की असल भूमिका.
mServerState
mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t
ध्यान दें, यह बूट टाइम होना चाहिए क्योंकि हमें सोने के समय के मुआवज़े की ज़रूरत है
mTimestampLastLocalSync_usec
timesync_t
ध्यान दें, यह बूट टाइम होना चाहिए क्योंकि हमें सोने के समय के मुआवज़े की ज़रूरत है

सार्वजनिक फ़ंक्शन

Abort(void)
इंजन को बंद स्थिति में वापस जाने के लिए, ज़बरदस्ती किया जाता है. इससे, इंजन जो काम करता है उसे रद्द कर देता है.
DisableAutoSync(void)
void
अपने-आप सिंक होने की सुविधा बंद करें.
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
अपने-आप सिंक होने की सुविधा चालू करें.
GetCapacityOfContactList(void) const
int
इस इंजन को स्टोर करने के लिए, कॉन्फ़िगर किए गए संपर्कों की ज़्यादा से ज़्यादा संख्या के लिए आसान गैटर
GetClientState(void) const
क्लाइंट की स्थिति के लिए सिंपल गैटर
GetNextLikelihood(void) const
int8_t
स्थायी की संभावना निकालता है.
GetServerState(void) const
सर्वर की स्थिति के लिए सिंपल गैटर
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
इस क्लाइंट को शुरू करें.
InitCoordinator(nl::Weave::WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
इस कोऑर्डिनेटर को शुरू करें.
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
अगर इरादा टाइम सिंक सर्वर होना है, तो ऑब्जेक्ट कंस्ट्रक्शन के बाद, सर्वर की भूमिका के लिए शुरू करने को पहले फ़ंक्शन के तौर पर कॉल किया जाना चाहिए.
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
void
मल्टीकास्ट समय परिवर्तन सूचना के लिए उच्च लेयर से कॉल किया गया.
RegisterCorrectionFromServerOrNtp(void)
void
इसे बाद वाली लेयर से कॉल किया जाता है, ताकि यह पता चल सके कि हमने या तो किसी सर्वर के साथ या NTP जैसे भरोसेमंद तरीकों से एक बार सिंक किया है.
RegisterLocalSyncOperation(const uint8_t aNumContributor)
void
हाई लेयर से कॉल किया जाता है, जो यह बताता है कि हमने अन्य स्थानीय कोऑर्डिनेटर के साथ टाइम सिंक का एक राउंड खत्म किया है.
Shutdown(void)
उसे बंद कर सकते हैं, चाहे वह कोई भी भूमिका निभा रहा हो.
Sync(const bool aForceDiscoverAgain)
मौजूदा संपर्कों का इस्तेमाल करके सिंक करें.
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
संपर्कों की दी गई सूची का उपयोग करके सिंक करें.
SyncWithService(WeaveConnection *const aConnection)
सिंक करने के लिए किया जा सकता है.

सुरक्षित किए गए फ़ंक्शन

AbortOnError(const WEAVE_ERROR aCode)
void
अगर aCode WEAVE_NO_ERROR नहीं है, तो आंतरिक रूप से रद्द करें
AutoSyncNow(void)
void
अपने-आप सिंक होने वाले सेशन को शुरू करने के लिए इंटरनल फ़ंक्शन
CallbackForSyncCompletion(const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec)
ऐप्लिकेशन लेयर पर कॉलबैक ट्रिगर करें.
ClearState(void)
void
DestroyCommContext(void)
bool
Weave ExchangeContext बंद करें
EndLocalSyncAndTryCalculateTimeFix(void)
void
EndServiceSyncAndTryCalculateTimeFix(void)
void
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
संपर्क जानकारी संग्रहित करने के लिए स्लॉट वापस करना
GetClientStateName(void) const
const char *const
GetNextIdleContact(void)
मुझसे बात करने के लिए, अगला मान्य और लगातार इस्तेमाल में न आने वाला संपर्क पाएं
GetNumNotYetCompletedContacts(void)
int16_t
इतने लोगों को 'Google कॉल फ़ॉरवर्डिंग नंबर' से कितने संपर्क मिले.
GetNumReliableResponses(void)
int16_t
अब तक इकट्ठा किए गए 'भरोसेमंद' जवाबों की संख्या पाएं.
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
InvalidateAllContacts(void)
void
सभी स्थानीय संपर्क अमान्य करें
InvalidateServiceContact(void)
void
सेवा के लिए संपर्क को अमान्य करें
RegisterCommError(Contact *const aContact)
void
किसी संपर्क पर बातचीत की गड़बड़ी को रजिस्टर करें. ज़रूरत पड़ने पर, संपर्क अपने-आप मिलने की अवधि को कम कर दें. इससे पता चलता है कि संपर्क करने के लिए कोई संपर्क नहीं है. इसलिए, इस दौरान अपने-आप मिलने की अवधि को कम करें
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
किसी संपर्क को यूनिकास्ट सिंक का अनुरोध भेजें.
SetAllCompletedContactsToIdle(void)
int16_t
सभी पूरे हो चुके संपर्कों को फिर से प्रयोग में नहीं स्थिति पर रीसेट करें, लेकिन जवाब को न छुएं.
SetAllValidContactsToIdleAndInvalidateResponse(void)
int16_t
सभी मान्य लोकल संपर्कों को निष्क्रिय स्थिति पर सेट करें और प्रतिक्रिया साफ़ करें.
SetClientState(const ClientState state)
void
SetupUnicastCommContext(Contact *const aContact)
एक नेटवर्क से दूसरे कंप्यूटर पर बातचीत करने के लिए, नया Weave Exchange बनाएं
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
void
उस नोड की संपर्क जानकारी स्टोर करें जिसने अभी-अभी हमें समय में बदलाव की सूचना भेजी है
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
void
मल्टीकास्ट रिक्वेस्ट से मिलने वाले रिस्पॉन्स को प्रोसेस करना
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
void
किसी यूनिकास्ट अनुरोध से मिलने वाले जवाब को प्रोसेस करें
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
क्लाइंट भूमिका के लिए शुरू करें.
_InitServer(const bool aIsAlwaysFresh)
सर्वर की भूमिका के लिए शुरू करें.
_ShutdownClient(void)
कॉलबैक में उपलब्ध न होने वाले क्लाइंट को रोकें.
_ShutdownCoordinator(void)
कॉलबैक में उपलब्ध न होने वाले कोऑर्डिनेटर को बंद करें.
_ShutdownServer(void)
कॉलबैक में उपलब्ध न होने वाले सर्वर को बंद करें.

सुरक्षित स्टैटिक फ़ंक्शन

HandleAutoDiscoveryTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
HandleAutoSyncTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
HandleMulticastResponseTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
HandleMulticastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
HandleSyncRequest(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
समय को सिंक करने का अनुरोध मिलने पर, Weave Exchange से कॉलबैक करें
HandleTimeChangeNotification(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
HandleUnicastResponseTimeout(ExchangeContext *const ec)
void
HandleUnicastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
HandleUnreliableAfterBootTimer(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
void
जब हम बूट बैरियर के बाद गैर-भरोसेमंद तरीके को पास कर देते हैं, तब वीव टाइमर से कॉलबैक
IsOperationalState(ClientState aState)
bool
पता लगाएं कि दिया गया राज्य संचालन में है या नहीं.
_OnSyncSucceeded(void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
bool

mBootTimeForNextAutoDiscovery_usec

timesync_t mBootTimeForNextAutoDiscovery_usec

mIsAutoSyncEnabled

bool mIsAutoSyncEnabled

अपने-आप सिंक होने की सुविधा के लिए इस्तेमाल किए जाने वाले स्टेटस.

mIsUrgentDiscoveryPending

bool mIsUrgentDiscoveryPending

mNominalDiscoveryPeriod_msec

int32_t mNominalDiscoveryPeriod_msec

mShortestDiscoveryPeriod_msec

int32_t mShortestDiscoveryPeriod_msec

mSyncPeriod_msec

int32_t mSyncPeriod_msec

mActiveContact

Contact * mActiveContact

के बारे में बात करेंगे.

mExchangeContext

ExchangeContext * mExchangeContext

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

EnterState_Discover

void EnterState_Discover(
  void
)

ये अवस्थाएं ट्रांज़िशन फ़ंक्शन अंदरूनी होते हैं और इनसे गड़बड़ी का कोड नहीं मिल सकता, क्योंकि पिछली स्थिति में इन्हें हैंडल करने का कोई तरीका नहीं होगा.

किसी भी गड़बड़ी की वजह से, टाइमर के पूरा न होने पर दूसरी स्थिति में बदलाव (टाइम आउट हो सकता है) हो सकता है. ऐसा तब होता है, जब टाइमर पूरा नहीं हो पाता है और यह किसी गलत स्थिति में आ सकता है

EnterState_ServiceSync_1

void EnterState_ServiceSync_1(
  void
)

EnterState_ServiceSync_2

void EnterState_ServiceSync_2(
  void
)

EnterState_Sync_1

void EnterState_Sync_1(
  void
)

EnterState_Sync_2

void EnterState_Sync_2(
  void
)

सार्वजनिक टाइप

ClientState

 ClientState

इस टाइम सिंक क्लाइंट की मौजूदा स्थिति

CommState

 CommState

किसी व्यक्ति से बातचीत की स्थिति के बारे में हो.

यह सार्वजनिक जगह पर है, क्योंकि संपर्क सार्वजनिक जगह पर है

ContributorFilter

void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)

रिस्पॉन्स से समय में सुधार का हिसाब लगाने से ठीक पहले, कॉलबैक हो जाता है.

ऐप्लिकेशन लेयर, aContact[i].mResponseStatus को kResponseStatus_अमान्य पर जाकर ओवरराइट कर सकती है, ताकि गणना के दौरान जवाब को अनदेखा कर दिया जाए

जानकारी
पैरामीटर
[in] aApp
ऐप्लिकेशन लेयर के डेटा का पॉइंटर, Init में सेट हो.
[in] aContact
कई संपर्क और जवाब की स्थिति
[in] aSize
संपर्क सूची में मौजूद रिकॉर्ड की संख्या

OnSyncRequestReceivedHandler

bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)

यह बताने के लिए कॉलबैक करें कि हमें अभी-अभी समय सिंक करने का अनुरोध मिला है.

जानकारी
पैरामीटर
[in] aApp
ऐप्लिकेशन लेयर के डेटा का पॉइंटर, Init में सेट हो.
[in] aMsgInfo
WeaveMessageInfo में मिले समय को सिंक करने के अनुरोध की जानकारी होती है. इसमें, भेजने वाले की जानकारी भी शामिल होती है.
[in] aLikelyhood
निर्माता के अनुरोध के अनुसार प्रतिक्रिया की संभावना
[in] aIsTimeCoordinator
अगर शुरुआती नोड टाइम सिंक कोऑर्डिनेटर है, तो वैल्यू 'सही' होगी
लौटाए गए सामान
गलत है और इंजन इस अनुरोध को अनदेखा कर देगा

ResponseStatus

 ResponseStatus

किसी संपर्क के लिए सेव किए गए जवाब की स्थिति.

यह सार्वजनिक जगह पर है, क्योंकि संपर्क सार्वजनिक जगह पर है

ServerState

 ServerState

इस टाइम सिंक सर्वर की मौजूदा स्थिति

प्रॉपर्टी
kServerState_Idle

सर्वर, सामान्य सेटिंग वाले अनुरोधों का जवाब देने के लिए तैयार है

kServerState_UnreliableAfterBoot

किसी अन्य तरीके से अपने सिस्टम का समय सिंक करने के लिए सर्वर के लिए आरक्षित समय

SyncFailedHandler

void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)

कॉलबैक तब होता है, जब सिंक की प्रोसेस पूरी नहीं हो सकी. इसमें, अपने-आप सिंक होने की सुविधा भी शामिल है.

ध्यान दें कि अगर सिंक करने की प्रोसेस बंद करने के लिए Abort को कॉल किया जाता है, तो कॉलबैक नहीं होता

जानकारी
पैरामीटर
[in] aApp
ऐप्लिकेशन लेयर के डेटा का पॉइंटर, Init में सेट हो.
[in] aErrorCode
सफल न होने की वजह

SyncSucceededHandler

bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)

कॉलबैक, सिंक की प्रोसेस पूरी होने के बाद होता है. इसमें, अपने-आप सिंक होने की सुविधा भी शामिल है. हालांकि, नतीजे लागू होने से पहले यह प्रोसेस होती है.

ध्यान दें कि सफल होने का मतलब यह नहीं है कि हमारे पास लागू नतीजे हैं. अगर कोई जवाब नहीं मिला है, तो aNumContributor को 0 पर सेट कर दिया जाएगा. ऐप्लिकेशन लेयर, aContact[i].mResponseStatus को kResponseStatus_अमान्य पर ले जा सकती है, ताकि हिसाब में जवाब को अनदेखा कर दिया जाए

जानकारी
पैरामीटर
[in] aApp
ऐप्लिकेशन लेयर के डेटा का पॉइंटर, Init में सेट हो.
[in] aOffsetUsec
उपयोगक में सुधार की मात्रा
[in] aIsReliable
क्या उसमें पहले से मौजूद लॉजिक से करेक्शन को भरोसेमंद माना जाता है
[in] aIsServer
क्या सुधार सर्वर से आता है
[in] aNumContributor
नोड की संख्या जिनकी वजह से यह सुधार हुआ. 0 का मतलब है कि सिंक की कार्रवाई से कोई नतीजा नहीं मिला.
लौटाए गए सामान
अगर इस ऑफ़सेट का इस्तेमाल सिस्टम के समय को एडजस्ट करने के लिए किया जाएगा, तो वैल्यू 'सही' होगी. अगर aNumContributor 0 है, तो रिटर्न वैल्यू को अनदेखा कर दिया जाएगा.

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)

यह बताने के लिए कॉलबैक करें कि हमें अभी-अभी समय में बदलाव की सूचना मिली है.

अगर अपने-आप सिंक होने वाला मोड चालू है, तो इस कॉलबैक के कुछ समय बाद अपने-आप समय सिंक शेड्यूल हो जाएगा. अगर ऐसा नहीं है, तो ऐप्लिकेशन लेयर, सिंक ऑपरेशन को सीधे चालू करने के लिए फ़ंक्शन के सिंक को कॉल करना चुन सकती है, जो कॉल-बैक के सामान्य नियम के दायरे में नहीं आती. हालांकि, यह खास कॉलबैक अब भी Weave Exchange लेयर के कॉलबैक स्टैक के ऊपर मौजूद होता है.

जानकारी
पैरामीटर
[in] aApp
ऐप्लिकेशन लेयर के डेटा का पॉइंटर, Init में सेट हो.
[in] aNodeId
नोड आईडी का अनुरोध किया जा रहा है
[in] aNodeAddr
नोड पते का अनुरोध कर रहा है

सार्वजनिक एट्रिब्यूट

FilterTimeCorrectionContributor

ContributorFilter FilterTimeCorrectionContributor

OnSyncFailed

SyncFailedHandler OnSyncFailed

OnSyncRequestReceived

OnSyncRequestReceivedHandler OnSyncRequestReceived

अगर यह नीति सेट नहीं है, तो डिफ़ॉल्ट तौर पर लागू किया गया विकल्प हमेशा 'सही' दिखाता है

OnSyncSucceeded

SyncSucceededHandler OnSyncSucceeded

अगर इस नीति को सेट नहीं किया जाता है, तो सर्वर में बहुत छोटे सुधार करने के अलावा, डिफ़ॉल्ट तौर पर सभी नतीजे शामिल होते हैं

OnTimeChangeNotificationReceived

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

mEncryptionType

uint8_t mEncryptionType

लोकल कम्यूनिकेशन को एन्क्रिप्ट (सुरक्षित) करने का तरीका

mKeyId

uint16_t mKeyId

लोकल कम्यूनिकेशन के लिए इस्तेमाल किया जाने वाला कुंजी आईडी

सुरक्षित एट्रिब्यूट

mApp

void * mApp

ऊपर की लेयर के डेटा का पॉइंटर

mClientState

ClientState mClientState

mConnectionToService

WeaveConnection * mConnectionToService

सेवा से बात करने के लिए इस्तेमाल किया गया टीसीपी कनेक्शन.

mContacts

Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]

खोजे जाने के दौरान मिली संपर्क जानकारी.

mIsAlwaysFresh

bool mIsAlwaysFresh

mIsInCallback

bool mIsInCallback

अगर हम उच्च लेयर पर कॉलबैक में हैं, तो 'सही'

mLastLikelihoodSent

int8_t mLastLikelihoodSent

mNumContributorInLastLocalSync

uint8_t mNumContributorInLastLocalSync

mRole

TimeSyncRole mRole

इस नोड की असल भूमिका.

mServerState

ServerState mServerState

mServiceContact

Contact mServiceContact

mTimestampLastCorrectionFromServerOrNtp_usec

timesync_t mTimestampLastCorrectionFromServerOrNtp_usec

ध्यान दें, यह बूट टाइम होना चाहिए क्योंकि हमें सोने के समय के मुआवज़े की ज़रूरत है

mTimestampLastLocalSync_usec

timesync_t mTimestampLastLocalSync_usec

ध्यान दें, यह बूट टाइम होना चाहिए क्योंकि हमें सोने के समय के मुआवज़े की ज़रूरत है

सार्वजनिक फ़ंक्शन

रद्द करें

WEAVE_ERROR Abort(
  void
)

इंजन को बंद स्थिति में वापस जाने के लिए, ज़बरदस्ती किया जाता है. इससे, इंजन जो काम करता है उसे रद्द कर देता है.

ध्यान रखें कि कोई सिंक सफल या विफल नहीं होगा, कॉल नहीं किया जाएगा. सभी Weave Exchange बंद कर दिए जाएंगे. टीसीपी कनेक्शन को आगे नहीं बढ़ाया जाएगा. अगर हम पहले से ही इस्तेमाल में नहीं हैं, तो कोई कार्रवाई नहीं की जाएगी. कॉलबैक में उपलब्ध नहीं है.

जानकारी
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

DisableAutoSync

void DisableAutoSync(
  void
)

अपने-आप सिंक होने की सुविधा बंद करें.

सिर्फ़ कुछ समय से इस्तेमाल में न होने की स्थिति में उपलब्ध है. कॉलबैक में उपलब्ध नहीं है.

EnableAutoSync

WEAVE_ERROR EnableAutoSync(
  const int32_t aSyncPeriod_msec,
  const int32_t aNominalDiscoveryPeriod_msec,
  const int32_t aShortestDiscoveryPeriod_msec
)

अपने-आप सिंक होने की सुविधा चालू करें.

यह सुविधा सिर्फ़ कुछ समय से इस्तेमाल में न होने की स्थिति में उपलब्ध है. खोज तुरंत हो जाती है. कॉलबैक में उपलब्ध नहीं होता.

जानकारी
पैरामीटर
[in] aSyncPeriod_msec
सिंक करने के बीच मिलीसेकंड की संख्या
[in] aNominalDiscoveryPeriod_msec
कम्यूनिकेशन से जुड़ी कोई गड़बड़ी न होने पर, डिस्कवरी के बीच मिलीसेकंड की संख्या
[in] aShortestDiscoveryPeriod_msec
बातचीत में गड़बड़ी होने पर, खोज के बीच सबसे कम समय, मिलीसेकंड में
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

GetCapacityOfContactList

int GetCapacityOfContactList(
  void
) const 

इस इंजन को स्टोर करने के लिए, कॉन्फ़िगर किए गए संपर्कों की ज़्यादा से ज़्यादा संख्या के लिए आसान गैटर

GetClientState

ClientState GetClientState(
  void
) const 

क्लाइंट की स्थिति के लिए सिंपल गैटर

GetNextLikelihood

int8_t GetNextLikelihood(
  void
) const 

स्थायी की संभावना निकालता है.

सिंक की कार्रवाई पूरी होने के बाद ही नतीजा, OnSyncSucceed और OnSyncfil के कॉलबैक में मान्य होगा. अगर ऐसा नहीं होता है, तो यह कोई समय नहीं होता है और अगला विकल्प इस्तेमाल किए जाने के बजाय, मौजूदा संभावना हो सकती है.

जानकारी
लौटाए गए सामान
अगले अनुरोध में रिस्पॉन्स के इस्तेमाल की संभावना

GetServerState

ServerState GetServerState(
  void
) const 

सर्वर की स्थिति के लिए सिंपल गैटर

InitClient

WEAVE_ERROR InitClient(
  void *const aApp,
  WeaveExchangeManager *aExchangeMgr,
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int8_t aInitialLikelyhood
)

इस क्लाइंट को शुरू करें.

कॉलबैक में उपलब्ध नहीं है

जानकारी
पैरामीटर
[in] aApp
हाई लेयर के डेटा के लिए पॉइंटर, जिसका इस्तेमाल कॉलबैक में ऊपर की लेयर के लिए किया जाता है.
[in] aExchangeMgr
सिस्टम के लिए इस्तेमाल होने वाले Weave Exchange Manager ऑब्जेक्ट के लिए पॉइंटर
[in] aRole
kTimeSyncRole_Client या kTimeSyncRole_Coorminator में से किसी एक को चुना जा सकता है
[in] aEncryptionType
अनुरोधों और जवाबों के लिए इस्तेमाल किया जाने वाला एन्क्रिप्शन टाइप
[in] aKeyId
अनुरोधों और जवाबों के लिए इस्तेमाल की जाने वाली कुंजी आईडी
[in] aInitialLikelyhood
डिस्कवरी स्टेज के लिए इस्तेमाल किए जाने की शुरुआती संभावना
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

InitCoordinator

WEAVE_ERROR InitCoordinator(
  nl::Weave::WeaveExchangeManager *aExchangeMgr,
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int32_t aSyncPeriod_msec,
  const int32_t aNominalDiscoveryPeriod_msec,
  const int32_t aShortestDiscoveryPeriod_msec
)

इस कोऑर्डिनेटर को शुरू करें.

जानकारी
पैरामीटर
[in] aExchangeMgr
सिस्टम के लिए इस्तेमाल होने वाले Weave Exchange Manager ऑब्जेक्ट के लिए पॉइंटर
[in] aEncryptionType
अनुरोधों और जवाबों के लिए इस्तेमाल किया जाने वाला एन्क्रिप्शन टाइप
[in] aKeyId
अनुरोधों और जवाबों के लिए इस्तेमाल की जाने वाली कुंजी आईडी
[in] aSyncPeriod_msec
सिंक करने के बीच मिलीसेकंड की संख्या
[in] aNominalDiscoveryPeriod_msec
अगर कम्यूनिकेशन से जुड़ी कोई गड़बड़ी नहीं मिली, तो डिस्कवरी के बीच सबसे कम समय, मिलीसेकंड में
[in] aShortestDiscoveryPeriod_msec
अगर कम्यूनिकेशन से जुड़ी गड़बड़ी मिली है, तो डिस्कवरी के बीच मि॰से॰ की सबसे छोटी संख्या
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

InitServer

WEAVE_ERROR InitServer(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr,
  const bool aIsAlwaysFresh
)

अगर इरादा टाइम सिंक सर्वर होना है, तो ऑब्जेक्ट कंस्ट्रक्शन के बाद, सर्वर की भूमिका के लिए शुरू करने को पहले फ़ंक्शन के तौर पर कॉल किया जाना चाहिए.

कॉलबैक में उपलब्ध नहीं है

जानकारी
पैरामीटर
[in] aApp
हाई लेयर के डेटा के लिए पॉइंटर, जिसका इस्तेमाल कॉलबैक में ऊपर की लेयर के लिए किया जाता है.
[in] aExchangeMgr
सिस्टम के लिए इस्तेमाल होने वाले Weave Exchange Manager ऑब्जेक्ट के लिए पॉइंटर
[in] aIsAlwaysFresh
'सही' पर सेट किया जा सकता है.
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

MulticastTimeChangeNotification

void MulticastTimeChangeNotification(
  const uint8_t aEncryptionType,
  const uint16_t aKeyId
) const 

मल्टीकास्ट समय परिवर्तन सूचना के लिए उच्च लेयर से कॉल किया गया.

कॉलबैक में उपलब्ध नहीं होता.

जानकारी
पैरामीटर
[in] aEncryptionType
इस सूचना के लिए इस्तेमाल किया जाने वाला एन्क्रिप्ट (सुरक्षित) करने का तरीका
[in] aKeyId
इस सूचना के लिए इस्तेमाल किया जाने वाला कुंजी आईडी

RegisterCorrectionFromServerOrNtp

void RegisterCorrectionFromServerOrNtp(
  void
)

इसे बाद वाली लेयर से कॉल किया जाता है, ताकि यह पता चल सके कि हमने या तो किसी सर्वर के साथ या NTP जैसे भरोसेमंद तरीकों से एक बार सिंक किया है.

RegisterLocalSyncOperation

void RegisterLocalSyncOperation(
  const uint8_t aNumContributor
)

हाई लेयर से कॉल किया जाता है, जो यह बताता है कि हमने अन्य स्थानीय कोऑर्डिनेटर के साथ टाइम सिंक का एक राउंड खत्म किया है.

जानकारी
पैरामीटर
[in] aNumContributor
इस टाइम सिंक में कुल कोऑर्डिनेटर ने योगदान दिया

बंद है

WEAVE_ERROR Shutdown(
  void
)

उसे बंद कर सकते हैं, चाहे वह कोई भी भूमिका निभा रहा हो.

किसी भी init फ़ंक्शन को दोबारा कॉल करने से पहले, दिए गए संसाधनों को फिर से पाने के लिए इस फ़ंक्शन को कॉल किया जाना चाहिए. यह कॉलबैक में उपलब्ध नहीं होता है.

जानकारी
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

सिंक करें

WEAVE_ERROR Sync(
  const bool aForceDiscoverAgain
)

मौजूदा संपर्कों का इस्तेमाल करके सिंक करें.

अगर कोई मान्य संपर्क उपलब्ध नहीं है, तो सिंक ऑपरेशन विफल हो सकता है. तुरंत खोज करने के लिए aForceFindAgain को 'सही' पर सेट करें. सिर्फ़ कुछ समय से इस्तेमाल में न होने की स्थिति में उपलब्ध है. कॉलबैक में उपलब्ध नहीं है.

जानकारी
पैरामीटर
[in] aForceDiscoverAgain
सभी मौजूदा संपर्कों को साफ़ करने और खोजने की कार्रवाई पूरी करने पर, 'सही'
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

SyncWithNodes

WEAVE_ERROR SyncWithNodes(
  const int16_t aNumNode,
  const ServingNode aNodes[]
)

संपर्कों की दी गई सूची का उपयोग करके सिंक करें.

मौजूदा संपर्क सूची साफ़ कर दी जाएगी. सिर्फ़ कुछ समय से इस्तेमाल में नहीं होने की स्थिति में उपलब्ध है. कॉलबैक में उपलब्ध नहीं है.

जानकारी
पैरामीटर
[in] aNumNode
aNode की कैटगरी में संपर्क की संख्या
[in] aNodes
संपर्क के रिकॉर्ड का कलेक्शन
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

SyncWithService

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

सिंक करने के लिए किया जा सकता है.

सिंक करने की प्रोसेस पूरी होने के बाद, कॉलर को टीसीपी कनेक्शन का मालिकाना हक लेना चाहिए. ऐसा करने से, टीसीपी कनेक्शन के लिए कोई भी कॉलबैक ओवरराइट नहीं होगा, क्योंकि एक नया वीव एक्सचेंज बनाया जाएगा और उस कॉन्टेक्स्ट के ऊपर सेट किए गए कॉलबैक सिर्फ़ कुछ समय से इस्तेमाल में न होने की स्थिति में उपलब्ध होते हैं. कॉलबैक में उपलब्ध नहीं होता.

जानकारी
पैरामीटर
[in] aConnection
Weave कनेक्शन के लिए पॉइंटर
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

TimeSyncNode

 TimeSyncNode(
  void
)

सुरक्षित किए गए फ़ंक्शन

AbortOnError

void AbortOnError(
  const WEAVE_ERROR aCode
)

अगर aCode WEAVE_NO_ERROR नहीं है, तो आंतरिक रूप से रद्द करें

AutoSyncNow

void AutoSyncNow(
  void
)

अपने-आप सिंक होने वाले सेशन को शुरू करने के लिए इंटरनल फ़ंक्शन

CallbackForSyncCompletion

WEAVE_ERROR CallbackForSyncCompletion(
  const bool aIsSuccessful,
  bool aShouldUpdate,
  const bool aIsCorrectionReliable,
  const bool aIsFromServer,
  const uint8_t aNumContributor,
  const timesync_t aSystemTimestamp_usec,
  const timesync_t aDiffTime_usec
)

ऐप्लिकेशन लेयर पर कॉलबैक ट्रिगर करें.

गड़बड़ी वाले कॉलबैक को ट्रिगर करने के लिए, aIsसफल को 'गलत' पर सेट करें

ClearState

void ClearState(
  void
)

DestroyCommContext

bool DestroyCommContext(
  void
)

Weave ExchangeContext बंद करें

EndLocalSyncAndTryCalculateTimeFix

void EndLocalSyncAndTryCalculateTimeFix(
  void
)

EndServiceSyncAndTryCalculateTimeFix

void EndServiceSyncAndTryCalculateTimeFix(
  void
)

FindReplaceableContact

Contact * FindReplaceableContact(
  const uint64_t aNodeId,
  const IPAddress & aNodeAddr,
  bool aIsTimeChangeNotification
)

संपर्क जानकारी संग्रहित करने के लिए स्लॉट वापस करना

GetClientStateName

const char *const GetClientStateName(
  void
) const 

GetNextIdleContact

Contact * GetNextIdleContact(
  void
)

मुझसे बात करने के लिए, अगला मान्य और लगातार इस्तेमाल में न आने वाला संपर्क पाएं

GetNumNotYetCompletedContacts

int16_t GetNumNotYetCompletedContacts(
  void
)

इतने लोगों को 'Google कॉल फ़ॉरवर्डिंग नंबर' से कितने संपर्क मिले.

GetNumReliableResponses

int16_t GetNumReliableResponses(
  void
)

अब तक इकट्ठा किए गए 'भरोसेमंद' जवाबों की संख्या पाएं.

हमें यह पता लगाने के लिए कॉल किया जाता है कि क्या हमें काफ़ी संख्या में जवाब मिले हैं

InitState

WEAVE_ERROR InitState(
  const TimeSyncRole aRole,
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr
)

InvalidateAllContacts

void InvalidateAllContacts(
  void
)

सभी स्थानीय संपर्क अमान्य करें

InvalidateServiceContact

void InvalidateServiceContact(
  void
)

सेवा के लिए संपर्क को अमान्य करें

RegisterCommError

void RegisterCommError(
  Contact *const aContact
)

किसी संपर्क पर बातचीत की गड़बड़ी को रजिस्टर करें. ज़रूरत पड़ने पर, संपर्क अपने-आप मिलने की अवधि को कम कर दें. इससे पता चलता है कि संपर्क करने के लिए कोई संपर्क नहीं है. इसलिए, इस दौरान अपने-आप मिलने की अवधि को कम करें

SendSyncRequest

WEAVE_ERROR SendSyncRequest(
  bool *const rIsMessageSent,
  Contact *const aContact
)

किसी संपर्क को यूनिकास्ट सिंक का अनुरोध भेजें.

*rIsMessageSend को यह बताने के लिए सेट किया जाएगा कि मैसेज भेजा जा चुका है या नहीं. कम्यूनिकेशन से जुड़ी गड़बड़ियां, जैसे पता का ऐक्सेस न मिलना, वापस नहीं भेजी जाती हैं. इसलिए, कॉल करने वाले को रिटर्न कोड और *rIsMessageSent, दोनों की जांच करनी होगी.

SetAllCompletedContactsToIdle

int16_t SetAllCompletedContactsToIdle(
  void
)

सभी पूरे हो चुके संपर्कों को फिर से प्रयोग में नहीं स्थिति पर रीसेट करें, लेकिन जवाब को न छुएं.

इसे एक ही नोड पर होने वाले संचार के दो राउंड के बीच में कॉल किया जाता है

SetAllValidContactsToIdleAndInvalidateResponse

int16_t SetAllValidContactsToIdleAndInvalidateResponse(
  void
)

सभी मान्य लोकल संपर्कों को निष्क्रिय स्थिति पर सेट करें और प्रतिक्रिया साफ़ करें.

इससे पहले कि हम उनसे एक-एक करके संपर्क करना शुरू करें, इस निर्देश को कहते हैं

SetClientState

void SetClientState(
  const ClientState state
)

SetupUnicastCommContext

WEAVE_ERROR SetupUnicastCommContext(
  Contact *const aContact
)

एक नेटवर्क से दूसरे कंप्यूटर पर बातचीत करने के लिए, नया Weave Exchange बनाएं

StoreNotifyingContact

void StoreNotifyingContact(
  const uint64_t aNodeId,
  const IPAddress & aNodeAddr
)

उस नोड की संपर्क जानकारी स्टोर करें जिसने अभी-अभी हमें समय में बदलाव की सूचना भेजी है

UpdateMulticastSyncResponse

void UpdateMulticastSyncResponse(
  const uint64_t aNodeId,
  const IPAddress & aNodeAddr,
  const TimeSyncResponse & aResponse
)

मल्टीकास्ट रिक्वेस्ट से मिलने वाले रिस्पॉन्स को प्रोसेस करना

UpdateUnicastSyncResponse

void UpdateUnicastSyncResponse(
  const TimeSyncResponse & aResponse
)

किसी यूनिकास्ट अनुरोध से मिलने वाले जवाब को प्रोसेस करें

_InitClient

WEAVE_ERROR _InitClient(
  const uint8_t aEncryptionType,
  const uint16_t aKeyId,
  const int8_t aInitialLikelyhood
)

क्लाइंट भूमिका के लिए शुरू करें.

इसका मकसद है, सार्वजनिक फ़ंक्शन के Init परिवार को अंदरूनी तौर पर इस्तेमाल करना. वापस करने से पहले mClientState सेट करें. कॉलबैक में उपलब्ध नहीं है

जानकारी
पैरामीटर
[in] aEncryptionType
अनुरोधों और जवाबों के लिए इस्तेमाल किया जाने वाला एन्क्रिप्शन टाइप
[in] aKeyId
अनुरोधों और जवाबों के लिए इस्तेमाल की जाने वाली कुंजी आईडी
[in] aInitialLikelyhood
डिस्कवरी स्टेज के लिए इस्तेमाल किए जाने की शुरुआती संभावना
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

_InitServer

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

सर्वर की भूमिका के लिए शुरू करें.

इसका मकसद है, सार्वजनिक फ़ंक्शन के Init परिवार को अंदरूनी तौर पर इस्तेमाल करना. वापस करने से पहले mClientState सेट करें. कॉलबैक में उपलब्ध नहीं है

जानकारी
पैरामीटर
[in] aIsAlwaysFresh
'सही' पर सेट किया जा सकता है.
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

_शटडाउन क्लाइंट

WEAVE_ERROR _ShutdownClient(
  void
)

कॉलबैक में उपलब्ध न होने वाले क्लाइंट को रोकें.

जानकारी
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

_शटडाउन कोऑर्डिनेटर

WEAVE_ERROR _ShutdownCoordinator(
  void
)

कॉलबैक में उपलब्ध न होने वाले कोऑर्डिनेटर को बंद करें.

जानकारी
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

_शटडाउन सर्वर

WEAVE_ERROR _ShutdownServer(
  void
)

कॉलबैक में उपलब्ध न होने वाले सर्वर को बंद करें.

जानकारी
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR

सुरक्षित स्टैटिक फ़ंक्शन

HandleAutoDiscoveryTimeout

void HandleAutoDiscoveryTimeout(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

HandleAutoSyncTimeout

void HandleAutoSyncTimeout(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

HandleMulticastResponseTimeout

void HandleMulticastResponseTimeout(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

HandleMulticastSyncResponse

void HandleMulticastSyncResponse(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

HandleSyncRequest

void HandleSyncRequest(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

समय को सिंक करने का अनुरोध मिलने पर, Weave Exchange से कॉलबैक करें

HandleTimeChangeNotification

void HandleTimeChangeNotification(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

HandleUnicastResponseTimeout

void HandleUnicastResponseTimeout(
  ExchangeContext *const ec
)

HandleUnicastSyncResponse

void HandleUnicastSyncResponse(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

HandleUnreliableAfterBootTimer

void HandleUnreliableAfterBootTimer(
  System::Layer *aSystemLayer,
  void *aAppState,
  System::Error aError
)

जब हम बूट बैरियर के बाद गैर-भरोसेमंद तरीके को पास कर देते हैं, तब वीव टाइमर से कॉलबैक

IsOperationalState

bool IsOperationalState(
  ClientState aState
)

पता लगाएं कि दिया गया राज्य संचालन में है या नहीं.

यह पता लगाने का सुविधा तरीका कि ClientState के काम करने की स्थिति का पता चलता है या नहीं. इसका मतलब है कि क्लाइंट ने शुरू करने की प्रक्रिया पूरी कर ली है और वह शट डाउन होने की प्रक्रिया में नहीं है.

जानकारी
पैरामीटर
[in] aState
आकलन की जाने वाली स्थिति
लौटाए गए सामान
अगर स्थिति, इनीशियलाइज़ेशन प्रोसेस पूरी होने के बाद और शटडाउन शुरू होने से पहले घट जाती है, तो 'सही' है. अगर ऐसा नहीं है, तो 'गलत' है.

_OnSync सफल

bool _OnSyncSucceeded(
  void *const aApp,
  const nl::Weave::Profiles::Time::timesync_t aOffsetUsec,
  const bool aIsReliable,
  const bool aIsServer,
  const uint8_t aNumContributor
)