nl:: बुनें:: प्रोफाइल:: समय:: टाइमसिंकनोड

सारांश

विरासत

: से विरासत में मिली nl :: Weave :: प्रोफाइल :: समय :: _ 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 एन्यूम
इस टाइम सिंक क्लाइंट की वर्तमान स्थिति
CommState एन्यूम
एक निश्चित संपर्क के लिए संचार की स्थिति।
ContributorFilter )(void *const aApp, Contact aContact[], const int aSize) टाइपडीफ
void(*
प्रतिक्रियाओं से समय सुधार की गणना करने से ठीक पहले कॉलबैक होता है।
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) टाइपडीफ
bool(*
कॉलबैक यह इंगित करने के लिए कि हमें अभी एक समय सिंक अनुरोध प्राप्त हुआ है।
ResponseStatus एन्यूम
एक निश्चित संपर्क के लिए संग्रहीत प्रतिक्रिया की स्थिति।
ServerState {
kServerState_UnreliableAfterBoot ,
kServerState_Idle
}
एन्यूम
इस टाइम सिंक सर्वर की वर्तमान स्थिति
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) टाइपडीफ
void(*
कॉलबैक तब होता है जब सिंक को विफल माना जाता है, जिसमें ऑटो सिंक भी शामिल है।
SyncSucceededHandler )(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor) टाइपडीफ
bool(*
सिंक के सफल माने जाने के बाद कॉलबैक होता है, जिसमें ऑटो सिंक भी शामिल है, लेकिन परिणाम लागू होने से पहले।
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) टाइपडीफ
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
आंतरिक निरस्त करें यदि कोड 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
वैध संपर्कों की संख्या प्राप्त करें, लेकिन हमने अभी तक उनसे बात नहीं की है।
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)
यूनिकास्ट संचार के लिए नया वीव एक्सचेंज बनाएं
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
समय सिंक अनुरोध आने पर वीव एक्सचेंज से कॉलबैक
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

mIsAutoSyncसक्षम

bool mIsAutoSyncEnabled

ऑटो सिंक सुविधा के लिए उपयोग किए जाने वाले राज्य।

एमआईएसअर्जेंटडिस्कवरी लंबितP

bool mIsUrgentDiscoveryPending

mNominalDiscoveryPeriod_msec

int32_t mNominalDiscoveryPeriod_msec

mShortestDiscoveryPeriod_msec

int32_t mShortestDiscoveryPeriod_msec

mSyncPeriod_msec

int32_t mSyncPeriod_msec

एमएक्टिव संपर्क

Contact * mActiveContact

संचार संदर्भ।

एमएक्सचेंजकॉन्टेक्स्ट

ExchangeContext * mExchangeContext

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

एंटरस्टेट_डिस्कवर

void EnterState_Discover(
  void
)

ये राज्य संक्रमण कार्य आंतरिक हैं और त्रुटि कोड वापस नहीं कर सकते क्योंकि पिछली स्थिति में उन्हें संभालने का कोई तरीका नहीं होगा।

किसी भी विफलता के परिणामस्वरूप अंततः एक और राज्य संक्रमण हो सकता है (समय समाप्त हो सकता है) यदि टाइमर भी विफल हो जाता है, तो हम चाल से बाहर हैं और कुछ गलत स्थिति में लटक सकते हैं

EnterState_ServiceSync_1

void EnterState_ServiceSync_1(
  void
)

EnterState_ServiceSync_2

void EnterState_ServiceSync_2(
  void
)

एंटरस्टेट_सिंक_1

void EnterState_Sync_1(
  void
)

EnterState_Sync_2

void EnterState_Sync_2(
  void
)

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

क्लाइंट का राज्य

 ClientState

इस टाइम सिंक क्लाइंट की वर्तमान स्थिति

कॉमस्टेट

 CommState

एक निश्चित संपर्क के लिए संचार की स्थिति।

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

योगदानकर्ताफ़िल्टर

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

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

अनुप्रयोग परत एक संपर्क [i] को अधिलेखित कर सकती है।

विवरण
मापदंडों
[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

एक निश्चित संपर्क के लिए संग्रहीत प्रतिक्रिया की स्थिति।

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

सर्वरस्टेट

 ServerState

इस टाइम सिंक सर्वर की वर्तमान स्थिति

गुण
kServerState_Idle

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

kServerState_UnreliableAfterBoot

सर्वर के लिए अपने सिस्टम समय को किसी अन्य माध्यम से सिंक करने के लिए आरक्षित समय केवल तभी सार्थक होता है जब init कहा जाता है जब aIsAlwaysFresh सत्य है

SyncFailedHandler

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

कॉलबैक तब होता है जब सिंक को विफल माना जाता है, जिसमें ऑटो सिंक भी शामिल है।

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

विवरण
मापदंडों
[in] aApp
ऐप परत डेटा के लिए एक सूचक, Init में सेट।
[in] aErrorCode
असफलता का कारण

सिंक सफल हैंडलर

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

सिंक के सफल माने जाने के बाद कॉलबैक होता है, जिसमें ऑटो सिंक भी शामिल है, लेकिन परिणाम लागू होने से पहले।

ध्यान दें कि सफल होने का मतलब यह नहीं है कि हमारे पास लागू परिणाम हैं। यदि कोई प्रतिक्रिया प्राप्त नहीं हुई थी, तो एक NumContributor को 0 पर सेट किया जाएगा। एप्लिकेशन परत एक संपर्क [i] को अधिलेखित कर सकती है।

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

TimeChangeNotificationHandler

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

कॉलबैक यह इंगित करने के लिए कि हमें अभी समय परिवर्तन अधिसूचना प्राप्त हुई है।

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

विवरण
मापदंडों
[in] aApp
ऐप परत डेटा के लिए एक सूचक, Init में सेट।
[in] aNodeId
नोड आईडी का अनुरोध
[in] aNodeAddr
नोड पते का अनुरोध

सार्वजनिक गुण

FilterTimeCorrectionContributor

ContributorFilter FilterTimeCorrectionContributor

ऑनसिंकविफल

SyncFailedHandler OnSyncFailed

ऑनसिंकअनुरोध प्राप्त हुआ

OnSyncRequestReceivedHandler OnSyncRequestReceived

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

ऑनसिंकसफल

SyncSucceededHandler OnSyncSucceeded

यदि सेट नहीं है, तो बहुत छोटे सर्वर सुधारों को छोड़कर, डिफ़ॉल्ट व्यवहार सभी परिणाम ले रहा है

ऑनटाइम चेंज नोटिफिकेशन प्राप्त हुआ

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

एमएन्क्रिप्शन प्रकार

uint8_t mEncryptionType

स्थानीय संचार के लिए एन्क्रिप्शन विधि

एमकेआईआईडी

uint16_t mKeyId

स्थानीय संचार के लिए उपयोग की जाने वाली कुंजी आईडी

संरक्षित गुण

एमएपी

void * mApp

उच्च परत डेटा के लिए सूचक

एम क्लाइंटस्टेट

ClientState mClientState

mConnectionToService

WeaveConnection * mConnectionToService

टीसीपी कनेक्शन सेवा से बात करने के लिए प्रयोग किया जाता है।

एम संपर्क

Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]

संपर्क जानकारी खोज के दौरान सीखे गए।

एमआईएसऑलवेज फ्रेश

bool mIsAlwaysFresh

एमआईएसइनकॉलबैक

bool mIsInCallback

सच है अगर हम उच्च परत पर कॉलबैक में हैं

एमएलआखिरीसंभावना भेजी गई

int8_t mLastLikelihoodSent

mNumContributorInLastLocalSync

uint8_t mNumContributorInLastLocalSync

एम भूमिका

TimeSyncRole mRole

इस नोड की वास्तविक भूमिका।

mServerState

ServerState mServerState

mServiceसंपर्क

Contact mServiceContact

mTimestampLastCorrectionFromServerOrNtp_usec

timesync_t mTimestampLastCorrectionFromServerOrNtp_usec

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

mTimestampLastLocalSync_usec

timesync_t mTimestampLastLocalSync_usec

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

सार्वजनिक समारोह

बीच में बंद करें

WEAVE_ERROR Abort(
  void
)

इंजन को निष्क्रिय स्थिति में वापस जाने के लिए मजबूर करें, जो कुछ भी कर रहा है उसे रद्द कर दें।

नोट कोई सिंक सफलता या विफलता नहीं कहा जाएगा। सभी वीव एक्सचेंज बंद रहेंगे। टीसीपी कनेक्शन को आगे नहीं छुआ जाएगा। कोई ऑपरेशन नहीं अगर हम पहले से ही निष्क्रिय अवस्था में हैं। कॉलबैक में उपलब्ध नहीं है।

विवरण
रिटर्न
WEAVE_NO_ERROR सफलता पर

ऑटो सिंक अक्षम करें

void DisableAutoSync(
  void
)

ऑटो सिंक अक्षम करें।

केवल निष्क्रिय अवस्था में उपलब्ध है। कॉलबैक में उपलब्ध नहीं है।

ऑटो सिंक सक्षम करें

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 

इस इंजन को स्टोर करने के लिए कॉन्फ़िगर किए गए संपर्कों की अधिकतम संख्या के लिए सरल गेटर

गेटक्लाइंटस्टेट

ClientState GetClientState(
  void
) const 

ग्राहक राज्य के लिए सरल गेट्टर

अगला प्राप्त करेंसंभावना

int8_t GetNextLikelihood(
  void
) const 

लगातार के लिए संभावना निकालें।

परिणाम सिंक्रनाइज़ेशन कार्रवाई पूर्ण होने के बाद ही मान्य होगा, OnSyncSucceeded और OnSyncFailed के कॉलबैक में। अन्यथा यह क्षणिक है और उपयोग किए जाने वाले अगले के बजाय वर्तमान संभावना हो सकती है।

विवरण
रिटर्न
अगले अनुरोध में उपयोग की जाने वाली प्रतिक्रिया की संभावना

गेटसर्वरस्टेट

ServerState GetServerState(
  void
) const 

सर्वर स्थिति के लिए सरल गेट्टर

इनिट क्लाइंट

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

इस क्लाइंट को इनिशियलाइज़ करें।

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

विवरण
मापदंडों
[in] aApp
उच्च परत डेटा के लिए एक सूचक, उच्च परत पर कॉलबैक में उपयोग किया जाता है।
[in] aExchangeMgr
सिस्टम वाइड वेव एक्सचेंज मैनेजर ऑब्जेक्ट के लिए एक पॉइंटर
[in] aRole
kTimeSyncRole_Client या kTimeSyncRole_Coordinator या तो हो सकता है
[in] aEncryptionType
अनुरोधों और प्रतिक्रियाओं के लिए उपयोग किए जाने वाले एन्क्रिप्शन प्रकार
[in] aKeyId
अनुरोधों और प्रतिक्रियाओं के लिए उपयोग की जाने वाली कुंजी आईडी
[in] aInitialLikelyhood
खोज चरण के लिए उपयोग की जाने वाली प्रारंभिक संभावना
रिटर्न
WEAVE_NO_ERROR सफलता पर

इनिट कोऑर्डिनेटर

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
सिस्टम वाइड वेव एक्सचेंज मैनेजर ऑब्जेक्ट के लिए एक पॉइंटर
[in] aEncryptionType
अनुरोधों और प्रतिक्रियाओं के लिए उपयोग किए जाने वाले एन्क्रिप्शन प्रकार
[in] aKeyId
अनुरोधों और प्रतिक्रियाओं के लिए उपयोग की जाने वाली कुंजी आईडी
[in] aSyncPeriod_msec
समन्वयन के बीच मिसे की संख्या
[in] aNominalDiscoveryPeriod_msec
खोज के बीच सबसे कम समय, मिसे में, यदि कोई संचार त्रुटि नहीं देखी जाती है
[in] aShortestDiscoveryPeriod_msec
खोज के बीच मिसे की सबसे छोटी संख्या, यदि संचार त्रुटि देखी गई है
रिटर्न
WEAVE_NO_ERROR सफलता पर

इनिटसर्वर

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

सर्वर रोल के लिए इनिशियलाइज़ को ऑब्जेक्ट निर्माण के बाद पहले फ़ंक्शन के रूप में कहा जाना चाहिए यदि इरादा टाइम सिंक सर्वर होना है।

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

विवरण
मापदंडों
[in] aApp
उच्च परत डेटा के लिए एक सूचक, उच्च परत पर कॉलबैक में उपयोग किया जाता है।
[in] aExchangeMgr
सिस्टम वाइड वेव एक्सचेंज मैनेजर ऑब्जेक्ट के लिए एक पॉइंटर
[in] aIsAlwaysFresh
यह इंगित करने के लिए सत्य पर सेट किया जा सकता है कि प्रारंभिक अविश्वसनीय समय को छोड़कर सर्वर हमेशा समन्वयित रहता है। समन्वयक के लिए असत्य पर सेट किया जाएगा।
रिटर्न
WEAVE_NO_ERROR सफलता पर

मल्टीकास्टटाइम चेंज नोटिफिकेशन

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

मल्टीकास्ट टाइम चेंज नोटिफिकेशन के लिए हायर लेयर द्वारा कॉल किया गया।

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

विवरण
मापदंडों
[in] aEncryptionType
इस अधिसूचना के लिए उपयोग किए जाने वाले एन्क्रिप्शन का प्रकार
[in] aKeyId
इस अधिसूचना के लिए उपयोग की जाने वाली कुंजी आईडी

RegisterCorrectionFromServerOrNtp

void RegisterCorrectionFromServerOrNtp(
  void
)

यह इंगित करने के लिए कि हमने अभी-अभी किसी सर्वर के साथ या NTP जैसे कुछ विश्वसनीय माध्यमों के माध्यम से, उच्च स्तर द्वारा कॉल किया गया है।

रजिस्टर लोकलसिंकऑपरेशन

void RegisterLocalSyncOperation(
  const uint8_t aNumContributor
)

यह इंगित करने के लिए उच्च स्तर द्वारा बुलाया गया कि हमने अभी-अभी अन्य स्थानीय समन्वयकों के साथ समय का एक दौर पूरा किया है।

विवरण
मापदंडों
[in] aNumContributor
समन्वयकों की संख्या ने इस समय समन्वयन में योगदान दिया

शट डाउन

WEAVE_ERROR Shutdown(
  void
)

सेवा को रोकें, चाहे वह कोई भी भूमिका निभा रहा हो।

इस फ़ंक्शन को आवंटित संसाधनों को ठीक से पुनः प्राप्त करने के लिए बुलाया जाना चाहिए, इससे पहले कि किसी भी init फ़ंक्शन को कोई अन्य कॉल किया जा सके। कॉलबैक में उपलब्ध नहीं है।

विवरण
रिटर्न
WEAVE_NO_ERROR सफलता पर

सिंक

WEAVE_ERROR Sync(
  const bool aForceDiscoverAgain
)

मौजूदा संपर्कों का उपयोग करके सिंक करें।

यदि कोई मान्य संपर्क उपलब्ध नहीं है, तो सिंक ऑपरेशन विफल हो सकता है। तुरंत खोज को बाध्य करने के लिए aForceDiscoverAgain को सही पर सेट करें। केवल निष्क्रिय अवस्था में उपलब्ध है। कॉलबैक में उपलब्ध नहीं है।

विवरण
मापदंडों
[in] aForceDiscoverAgain
सही है अगर सभी मौजूदा संपर्कों को फ्लश किया जाएगा और डिस्कवरी ऑपरेशन किया जाएगा
रिटर्न
WEAVE_NO_ERROR सफलता पर

सिंकविथनोड्स

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

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

मौजूदा संपर्क सूची को फ्लश कर दिया जाएगा। केवल निष्क्रिय अवस्था में उपलब्ध है। कॉलबैक में उपलब्ध नहीं है।

विवरण
मापदंडों
[in] aNumNode
सरणी aNodes में संपर्क की संख्या
[in] aNodes
संपर्क रिकॉर्ड की सरणी
रिटर्न
WEAVE_NO_ERROR सफलता पर

सिंकविथ सर्विस

WEAVE_ERROR SyncWithService(
  WeaveConnection *const aConnection
)

दिए गए टीसीपी कनेक्शन और संबंधित एन्क्रिप्शन और कुंजी आईडी का उपयोग करके सिंक करें।

सिंक खत्म होने के बाद कॉलर को टीसीपी कनेक्शन का स्वामित्व लेना चाहिए। टीसीपी कनेक्शन के लिए कोई कॉलबैक ओवरराइट नहीं किया जाएगा, क्योंकि एक नया वीव एक्सचेंज बनाया जाएगा और उस संदर्भ के शीर्ष पर कॉलबैक केवल निष्क्रिय स्थिति में उपलब्ध होगा। कॉलबैक में उपलब्ध नहीं है।

विवरण
मापदंडों
[in] aConnection
बुनाई कनेक्शन के लिए एक सूचक A
रिटर्न
WEAVE_NO_ERROR सफलता पर

टाइमसिंकनोड

 TimeSyncNode(
  void
)

संरक्षित कार्य

AbortOnError

void AbortOnError(
  const WEAVE_ERROR aCode
)

आंतरिक निरस्त करें यदि कोड WEAVE_NO_ERROR नहीं है

AutoSyncNow

void AutoSyncNow(
  void
)

एक ऑटो सिंक सत्र शुरू करने के लिए आंतरिक कार्य

कॉलबैकफॉरसिंकपूर्णता

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
)

एप्लिकेशन परत पर कॉलबैक प्रेरित करें।

त्रुटि कॉलबैक को प्रेरित करने के लिए aIsSuccessful को गलत पर सेट करें

क्लियरस्टेट

void ClearState(
  void
)

कॉमकॉन्टेक्स्ट को नष्ट करें

bool DestroyCommContext(
  void
)

Weave बंद ExchangeContext

EndLocalSyncAndTryगणना TimeFix

void EndLocalSyncAndTryCalculateTimeFix(
  void
)

EndServiceSyncAndTryगणना TimeFix

void EndServiceSyncAndTryCalculateTimeFix(
  void
)

खोजे जाने योग्य संपर्क

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

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

GetClientStateName

const char *const GetClientStateName(
  void
) const 

GetNextIdleसंपर्क

Contact * GetNextIdleContact(
  void
)

बात करने के लिए अगला वैध और निष्क्रिय संपर्क प्राप्त करें

GetNumNotYetCompletedContacts

int16_t GetNumNotYetCompletedContacts(
  void
)

वैध संपर्कों की संख्या प्राप्त करें, लेकिन हमने अभी तक उनसे बात नहीं की है।

GetNumReliableResponses

int16_t GetNumReliableResponses(
  void
)

अब तक एकत्रित 'विश्वसनीय' प्रतिक्रियाओं की संख्या प्राप्त करें।

यह निर्धारित करने के लिए बुलाया गया है कि क्या हमने पर्याप्त संख्या में प्रतिक्रियाएं एकत्र की हैं

इनिटस्टेट

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

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

void InvalidateAllContacts(
  void
)

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

अमान्य सेवा संपर्क

void InvalidateServiceContact(
  void
)

सेवा से संपर्क अमान्य करें

रजिस्टरकॉमत्रुटि

void RegisterCommError(
  Contact *const aContact
)

एक निश्चित संपर्क पर संचार त्रुटि दर्ज करें, और यदि आवश्यक हो तो ऑटो खोज अवधि को छोटा करें, यह इंगित करने के लिए कि हमारे पास बात करने के लिए कोई नहीं है, और इसलिए ऑटो खोज अवधि को छोटा करें

SendSyncRequest

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

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

*rIsMessageSent यह इंगित करने के लिए सेट किया जाएगा कि क्या संदेश भेजा गया है। संचार त्रुटियाँ जैसे पता पहुँच योग्य नहीं है वापस नहीं किया जाता है, इसलिए कॉलर रिटर्न कोड और *rIsMessageSent दोनों की जाँच करेगा।

सभी पूर्ण संपर्क सेट करेंIdleI

int16_t SetAllCompletedContactsToIdle(
  void
)

सभी पूर्ण संपर्कों को फिर से निष्क्रिय स्थिति में रीसेट करें, लेकिन प्रतिक्रिया को स्पर्श न करें।

इसे संचार के दो दौरों के बीच एक ही नोड के बीच कहा जाता है

SetAllValidContactsToIdleAndInvalidateResponse

int16_t SetAllValidContactsToIdleAndInvalidateResponse(
  void
)

सभी वैध स्थानीय संपर्कों को निष्क्रिय स्थिति में सेट करें और प्रतिक्रिया साफ़ करें।

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

सेट क्लाइंटस्टेट

void SetClientState(
  const ClientState state
)

सेटअपयूनिकास्टकॉमकॉन्टेक्स्ट

WEAVE_ERROR SetupUnicastCommContext(
  Contact *const aContact
)

यूनिकास्ट संचार के लिए नया वीव एक्सचेंज बनाएं

स्टोर अधिसूचना संपर्क

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
)

एक यूनिकास्ट अनुरोध से वापस आने वाली प्रतिक्रिया को संसाधित करें

_इनिट क्लाइंट

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

क्लाइंट भूमिका के लिए प्रारंभ करें।

सार्वजनिक कार्यों के इनिट परिवार द्वारा आंतरिक रूप से उपयोग करने का इरादा। वापसी से पहले mClientState सेट करना होगा। कॉलबैक में उपलब्ध नहीं है

विवरण
मापदंडों
[in] aEncryptionType
अनुरोधों और प्रतिक्रियाओं के लिए उपयोग किए जाने वाले एन्क्रिप्शन प्रकार
[in] aKeyId
अनुरोधों और प्रतिक्रियाओं के लिए उपयोग की जाने वाली कुंजी आईडी
[in] aInitialLikelyhood
खोज चरण के लिए उपयोग की जाने वाली प्रारंभिक संभावना
रिटर्न
WEAVE_NO_ERROR सफलता पर

_इनिटसर्वर

WEAVE_ERROR _InitServer(
  const bool aIsAlwaysFresh
)

सर्वर भूमिका के लिए प्रारंभ करें।

सार्वजनिक कार्यों के इनिट परिवार द्वारा आंतरिक रूप से उपयोग करने का इरादा। वापसी से पहले 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 सफलता पर

संरक्षित स्थिर कार्य

हैंडलऑटोडिस्कवरीटाइमआउट

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 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
)

हैंडलअविश्वसनीयआफ्टरबूटटाइमर

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

वीव टाइमर से कॉलबैक जब हमने बूट बैरियर के बाद अविश्वसनीय पारित किया

ऑपरेशनल स्टेट

bool IsOperationalState(
  ClientState aState
)

निर्धारित करें कि क्या दिया गया राज्य चालू है।

यह निर्धारित करने के लिए सुविधा विधि कि क्या क्लाइंटस्टेट परिचालन स्थिति को दर्शाता है, यानी क्लाइंट ने आरंभीकरण पूरा कर लिया है और बंद होने की प्रक्रिया में नहीं है।

विवरण
मापदंडों
[in] aState
राज्य का मूल्यांकन किया जाना है
रिटर्न
सच है अगर राज्य आरंभीकरण पूरा होने के बाद और शटडाउन शुरू होने से पहले गिर जाता है, अन्यथा झूठा।

_ऑनसिंकसफल

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