nl:: बुना::प्रोफ़ाइल::सेवा की डायरेक्ट्री::WeaveServiceManager

#include <src/lib/profiles/service-directory/ServiceDirectory.h>

Weave सेवा डायरेक्ट्री के लिए मैनेजर ऑब्जेक्ट.

खास जानकारी

Weave सेवा मैनेजर, निर्देशिका सेवा के लिए ऐप्स का मुख्य इंटरफ़ेस है. इस तरह, यह सेवा एंडपॉइंट से जुड़ी डायरेक्ट्री एंट्री खोजने में होने वाली मुश्किलों को छिपाता है, एक या एक से ज़्यादा होस्ट नामों पर डीएनएस लुकअप करता है, कनेक्ट करने की कोशिश करता है, कनेक्शन सुरक्षित करता है, वगैरह. यह सेवा डायरेक्ट्री की जानकारी की कैश मेमोरी को भी मैनेज कर सकती है.

कंस्ट्रक्टर और कंस्ट्रक्टर

WeaveServiceManager(void)
यह तरीका WeaveServiceManager इंस्टेंस की शुरुआत करता है.
~WeaveServiceManager(void)
इस तरीके से WeaveServiceManager इंस्टेंस का नुकसान होता है.

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

@303{
  kWeave_DefaultSendTimeout = 15000
}
enum
OnConnectBegin)(struct ServiceConnectBeginArgs &args) nl::Weave::प्रोफ़ाइल::ServiceDirectory::WeaveServiceManager::OnConnectBegin
void(*
कनेक्शन स्थापित करने से ठीक पहले किया गया एक ऐप्लिकेशन कॉलबैक.
OnServiceEndpointQueryBegin)(void) nl::Weave::प्रोफ़ाइल::ServiceDirectory::WeaveServiceManager::OnServiceEndpointQueryBegin
void(*
किसी आउटगोइंग सेवा डायरेक्ट्री क्वेरी का समय मार्क करने के लिए ऐप्लिकेशन कॉलबैक.
OnServiceEndpointQueryEndWithTimeInfo)(uint64_t timeQueryReceiptMsec, uint32_t timeProcessMsec) nl::Weave::प्रोफ़ाइल::ServiceDirectory::WeaveServiceManager::OnServiceEndpointQueryEndWithTimeInfo
void(*
सर्विस डायरेक्ट्री रिस्पॉन्स से, समय की वैल्यू डिलीवर करने के लिए ऐप्लिकेशन कॉलबैक.
RootDirectoryAccessor)(uint8_t *aDirectory, uint16_t aLength) nl::Weave::प्रोफ़ाइल::ServiceDirectory::WeaveServiceManager::रूटडायरेक्टरी ऐक्सेसर
रूट डायरेक्ट्री की जानकारी के लिए ऐक्सेसर फ़ंक्शन.
StatusHandler)(void *anAppState, WEAVE_ERROR anError, StatusReport *aStatusReport) nl::Weave::प्रोफ़ाइल::ServiceDirectory::WeaveServiceManager::StatusHandler
void(*
गड़बड़ी और स्थिति की स्थिति के लिए हैंडलर.

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

SetConnectBeginCallback(OnConnectBegin aConnectBegin)
void
कनेक्शन के ठीक पहले कॉल करने के लिए कॉलबैक फ़ंक्शन सेट करें.
cancel(uint64_t aServiceEp, void *aAppState)
void
इस तरीके से कनेक्ट करने का अनुरोध रद्द हो जाता है.
clearCache(void)
void
इस तरीके का इस्तेमाल करके, मैनेजर की स्थिति और कैश मेमोरी को मिटाया जाता है. ऐसा तब किया जाता है, जब स्थिति टर्मिनल के kServiceMgrState_Solved स्थिति में हो. इसका मतलब है कि सर्विस डायरेक्ट्री एंडपॉइंट से जवाब मिला था.
connect(uint64_t aServiceEp, WeaveAuthMode aAuthMode, void *aAppState, StatusHandler aStatusHandler, WeaveConnection::ConnectionCompleteFunct aConnectionCompleteHandler, const uint32_t aConnectTimeoutMsecs, const InterfaceId aConnectIntf)
इस तरीके से किए जाने वाले अनुरोध, किसी Weave सेवा से कनेक्ट किए जाते हैं.
init(WeaveExchangeManager *aExchangeMgr, uint8_t *aCache, uint16_t aCacheLen, RootDirectoryAccessor aAccessor, WeaveAuthMode aDirAuthMode, OnServiceEndpointQueryBegin aServiceEndpointQueryBegin, OnServiceEndpointQueryEndWithTimeInfo aServiceEndpointQueryEndWithTimeInfo, OnConnectBegin aConnectBegin)
यह तरीका, सेवा मैनेजर ऑब्जेक्ट को शुरू करता है.
lookup(uint64_t aServiceEp, HostPortList *outHostPortList)
यह तरीका, सेवा के एंडपॉइंट के लिए डायरेक्ट्री की जानकारी खोजता है.
lookup(uint64_t aServiceEp, uint8_t *aControlByte, uint8_t **aDirectoryEntry)
यह तरीका, सेवा के एंडपॉइंट के लिए डायरेक्ट्री की जानकारी खोजता है.
onConnectionClosed(WEAVE_ERROR aError)
void
यह तरीका, जुड़े हुए Weave एक्सचेंज के संदर्भ में बंद किए गए कनेक्शन इवेंट को मैनेज करता है.
onConnectionComplete(WEAVE_ERROR aError)
void
यह तरीका, सेवा एंडपॉइंट के लेन-देन से जुड़े लेन-देन के लिए, कनेक्ट किए गए पूरे इवेंट को हैंडल करता है.
onResponseReceived(uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
यह तरीका, डायरेक्ट्री सेवा के साथ बातचीत में दिए गए किसी भी जवाब मैसेज को हैंडल करता है.
onResponseTimeout(void)
void
यह तरीका टाइम आउट इवेंट को मैनेज करता है, जिसमें डायरेक्ट्री की सेवा से कोई जवाब नहीं मिला.
relocate(WEAVE_ERROR aError)
void
यह तरीका, सेवा की डायरेक्ट्री के कैश को एक जगह से दूसरी जगह ले जाता है.
relocate(void)
void
यह तरीका, सेवा की डायरेक्ट्री के कैश को एक जगह से दूसरी जगह ले जाता है.
replaceOrAddCacheEntry(uint16_t port, const char *hostName, uint8_t hostLen, uint64_t serviceEndpointId)
डायरेक्ट्री की सूची की शुरुआत में, होस्टनेम और पोर्ट आईडी की ओवरराइड की गई डायरेक्ट्री की एंट्री जोड़ें.
reset(WEAVE_ERROR aError)
void
यह तरीका सेवा मैनेजर को उसकी शुरुआती स्थिति पर रीसेट कर देता है.
reset(void)
void
यह तरीका सेवा मैनेजर को उसकी शुरुआती स्थिति पर रीसेट कर देता है.
unresolve(WEAVE_ERROR aError)
void
इस तरीके से सेवा की डायरेक्ट्री की कैश मेमोरी अमान्य हो जाती है.
unresolve(void)
void
इस तरीके से सेवा की डायरेक्ट्री की कैश मेमोरी अमान्य हो जाती है.

क्लास

nl:: बुनाई::प्रोफ़ाइल::सेवा डायरेक्ट्री::WeaveServiceManager::कनेक्ट अनुरोध

यह क्लास, सेवा मैनेजर की ओर से मैनेज किए जाने वाले एक लेन-देन को दिखाती है.

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

@303

 @303
प्रॉपर्टी
kWeave_DefaultSendTimeout

डायरेक्ट्री के लिए क्वेरी के रिस्पॉन्स, टाइम आउट के समय से पहले मिल जाने चाहिए. यह संख्या मिलीसेकंड में तय की जानी चाहिए.

ऑनकनेक्ट बिगिन

void(* OnConnectBegin)(struct ServiceConnectBeginArgs &args)

कनेक्शन स्थापित करने से ठीक पहले किया गया एक ऐप्लिकेशन कॉलबैक.

इस कॉलबैक का इस्तेमाल ऐप्लिकेशन से, किसी सेवा कनेक्शन को बनाने के दौरान, #WeaveConnection::Connect() में पास किए जाने वाले आर्ग्युमेंट को देखने और उनमें बदलाव करने के लिए किया जा सकता है. इस कॉलबैक को टारगेट सेवा एंडपॉइंट से कनेक्शन के लिए और साथ ही अगर डायरेक्ट्री डायरेक्ट्री से किया जाना है, तो इस सर्विस डायरेक्ट्री एंडपॉइंट से कनेक्शन के लिए भी कॉल किया जाएगा.

OnServiceEndpointQueryQueryशुरू

void(* OnServiceEndpointQueryBegin)(void)

किसी आउटगोइंग सेवा डायरेक्ट्री क्वेरी का समय मार्क करने के लिए ऐप्लिकेशन कॉलबैक.

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

OnServiceEndpointQueryEndWithTimeInfo

void(* OnServiceEndpointQueryEndWithTimeInfo)(uint64_t timeQueryReceiptMsec, uint32_t timeProcessMsec)

सर्विस डायरेक्ट्री रिस्पॉन्स से, समय की वैल्यू डिलीवर करने के लिए ऐप्लिकेशन कॉलबैक.

यह तब कॉल की जाती है, जब हमें सर्विस डायरेक्ट्री क्वेरी से जवाब की जानकारी मिलती है. ध्यान दें कि यह कॉलबैक सिर्फ़ तब होगा, जब किसी जवाब को पार्स किया गया हो और समय की जानकारी शामिल हो

ब्यौरा
पैरामीटर
[in] timeQueryReceiptMsec
POSIX epoch के बाद से क्वेरी की संख्या, जब सर्वर साइड पर क्वेरी मिली थी.
[in] timeProcessMsec
इस क्वेरी को प्रोसेस करने में खर्च होने वाले msec की संख्या.

रूटडायरेक्टरी ऐक्सेसर

WEAVE_ERROR(* RootDirectoryAccessor)(uint8_t *aDirectory, uint16_t aLength)

रूट डायरेक्ट्री की जानकारी के लिए ऐक्सेसर फ़ंक्शन.

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

ब्यौरा
पैरामीटर
[out] aDirectory
डायरेक्ट्री की जानकारी लिखने के लिए, बफ़र का पॉइंटर.
[in] aLength
दिए गए बफ़र की लंबाई बाइट में.
लौटाए गए सामान
इंस्टॉल होने के बाद, WEAVE_NO_ERROR पर वरना लोडिंग प्रक्रिया रद्द कर दी जाएगी.

स्टेटस हैंडलर

void(* StatusHandler)(void *anAppState, WEAVE_ERROR anError, StatusReport *aStatusReport)

गड़बड़ी और स्थिति की स्थिति के लिए हैंडलर.

सेवा मैनेजर के उपयोगकर्ता को दो में से किसी एक तरीके से कनेक्ट अनुरोध करने की समस्याओं के बारे में बताया जा सकता है. इसे सेवा से स्थिति की रिपोर्ट मिल सकती है या उसे अंदरूनी तौर पर जनरेट किया गया WEAVE_ERROR मिल सकता है. किसी भी मामले में, जानकारी इस कॉलबैक के ज़रिए मिलती है.

ब्यौरा
पैरामीटर
[in] anAppState
किसी ऐप्लिकेशन ऑब्जेक्ट का पॉइंटर, जो उससे जुड़े conect() कॉल में भेजा गया हो.
[in] anError
Weave गड़बड़ी कोड दिखाता है कि कनेक्ट करने के अनुरोध के दौरान गड़बड़ी हुई. कोई गड़बड़ी होने और स्थिति की रिपोर्ट उपलब्ध होने पर, यह WEAVE_NO_ERROR होगा.
[in] aStatusReport
रिमोट डायरेक्ट्री की सेवा से जनरेट की गई स्थिति रिपोर्ट का पॉइंटर. ऐसे मामले में जहां कोई रिपोर्ट नहीं थी और पिछले आर्ग्युमेंट में एक अंदरूनी गड़बड़ी हुई, यह तर्क शून्य होगा.

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

setConnectBeginCallback

void SetConnectBeginCallback(
  OnConnectBegin aConnectBegin
)

कनेक्शन के ठीक पहले कॉल करने के लिए कॉलबैक फ़ंक्शन सेट करें.

ब्यौरा
पैरामीटर
[in] aConnectBegin
कॉलबैक फ़ंक्शन के लिए पॉइंटर. NULL की वैल्यू कॉलबैक को बंद कर देती है.

WeaveServiceManager

 WeaveServiceManager(
  void
)

यह तरीका WeaveServiceManager इंस्टेंस की शुरुआत करता है.

ध्यान रखें कि इस इंस्टेंस को शुरू करने के लिए init() को कॉल किया जाना चाहिए.

अभी नहीं

void cancel(
  uint64_t aServiceEp,
  void *aAppState
)

इस तरीके से कनेक्ट करने का अनुरोध रद्द हो जाता है.

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

ब्यौरा
पैरामीटर
[in] aServiceEp
अनुरोध का सेवा एंडपॉइंट आईडी जो रद्द किया जा रहा है.
[in] anAppState
connect() कॉल के लिए दिए गए ऐप्लिकेशन स्टेट ऑब्जेक्ट का पॉइंटर.

क्लियर कैश

void clearCache(
  void
)

इस तरीके का इस्तेमाल करके, मैनेजर की स्थिति और कैश मेमोरी को मिटाया जाता है. ऐसा तब किया जाता है, जब स्थिति टर्मिनल के kServiceMgrState_Solved स्थिति में हो. इसका मतलब है कि सर्विस डायरेक्ट्री एंडपॉइंट से जवाब मिला था.

कनेक्ट करें

WEAVE_ERROR connect(
  uint64_t aServiceEp,
  WeaveAuthMode aAuthMode,
  void *aAppState,
  StatusHandler aStatusHandler,
  WeaveConnection::ConnectionCompleteFunct aConnectionCompleteHandler,
  const uint32_t aConnectTimeoutMsecs,
  const InterfaceId aConnectIntf
)

इस तरीके से किए जाने वाले अनुरोध, किसी Weave सेवा से कनेक्ट किए जाते हैं.

यह सबसे ऊंचे लेवल का कनेक्ट कॉल है. यह मूल रूप से Weave सेवा से सुरक्षित कनेक्शन बनाता है. इसके लिए, सेवा एंडपॉइंट और पुष्टि करने वाले मोड को बनाया जाता है या कोशिश करने पर यह बंद हो जाता है.

इस तरीके को सिर्फ़ init() पर कॉल करने के बाद ही कॉल किया जा सकता है. साथ ही, cancel() के ज़रिए कनेक्शन का अनुरोध रद्द किया जा सकता है.

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

ब्यौरा
पैरामीटर
[in] aServiceEp
पसंद के मुताबिक सेवा के लिए, ServiceDirectory.h में बताया गया सेवा एंडपॉइंट पहचानकर्ता.
[in] aAuthMode
रुचि की सेवा से कनेक्ट करते समय उपयोग करने के लिए प्रमाणीकरण मोड.
[in] aAppState
ऐप्लिकेशन स्थिति ऑब्जेक्ट का पॉइंटर, तर्क के तौर पर कॉलबैक को पास किया जाता है.
[in] aStatusHandler
कनेक्शन पूरा होने से पहले होने वाली गड़बड़ी के मामले में, कॉलबैक करने के लिए एक कॉलबैक.
[in] aConnectionCompleteHandler
जिस कनेक्शन के लिए अनुरोध किया गया है उसके पूरा होने पर शुरू करने के लिए कॉलबैक. ध्यान दें कि कनेक्शन Weave गड़बड़ी कोड के साथ विफल हो सकता है.
[in] aConnectTimeoutMsecs
वैकल्पिक TCP कनेक्ट टाइम आउट मिलीसेकंड में.
[in] aConnectIntf
वैकल्पिक इंटरफ़ेस, जिस पर कनेक्शन स्थापित किया जाना है.
लौटाए गए सामान
पूरा होने पर WEAVE_NO_ERROR; वरना, संबंधित गड़बड़ी कोड.

init

WEAVE_ERROR init(
  WeaveExchangeManager *aExchangeMgr,
  uint8_t *aCache,
  uint16_t aCacheLen,
  RootDirectoryAccessor aAccessor,
  WeaveAuthMode aDirAuthMode,
  OnServiceEndpointQueryBegin aServiceEndpointQueryBegin,
  OnServiceEndpointQueryEndWithTimeInfo aServiceEndpointQueryEndWithTimeInfo,
  OnConnectBegin aConnectBegin
)

यह तरीका, सेवा मैनेजर ऑब्जेक्ट को शुरू करता है.

इस्तेमाल किए जाने के लिए, सेवा मैनेजर ऑब्जेक्ट को शुरू करना ज़रूरी है. इस तरीके से कॉल करने के बाद, क्लाइंट connect(), lookup() और अन्य तरीकों को कॉल करना शुरू कर सकते हैं.

ब्यौरा
पैरामीटर
[in] aExchangeMgr
एक्सचेंज मैनेजर का पॉइंटर, जिसे सेवा डायरेक्ट्री की सभी प्रोफ़ाइल एक्सचेंज के लिए इस्तेमाल किया जा सकता है.
[in] aCache
बफ़र का पॉइंटर. इसका इस्तेमाल डायरेक्ट्री की जानकारी को कैश मेमोरी में सेव करने के लिए किया जा सकता है.
[in] aCacheLen
कैश मेमोरी के बाइट में लंबाई.
[in] aAccessor
कॉलबैक, जैसा कि ServiceDirectory.h में बताया गया है, ताकि रूट डायरेक्ट्री को लुकअप के लिए शुरुआती पॉइंट के तौर पर लोड किया जा सके.
[in] aDirAuthMode
डायरेक्ट्री सेवा से बात करते समय, पुष्टि करने वाला मोड इस्तेमाल किया जाएगा.
[in] aServiceEndpointQueryBegin
OnServiceEndpointQueryBegin का फ़ंक्शन पॉइंटर, जिसे सेवा निर्देशिका के अनुरोध की शुरुआत में कॉल किया जाता है और अगर ऐप्लिकेशन कोड सेवा डायरेक्ट्री प्रोटोकॉल के ज़रिए ऑफ़र किए गए समय सिंक का इस्तेमाल करना चाहता है, तो उसे समय मार्क करने की अनुमति देता है.
[in] aServiceEndpointQueryEndWithTimeInfo
OnServiceEndpointPointEndWithTimeInfo टाइप का एक फ़ंक्शन पॉइंटर, जिसे सर्विस डायरेक्ट्री मिलने पर कॉल किया जाता है. यह रिस्पॉन्स में दिए गए समय वाले फ़ील्ड का इस्तेमाल करके, ऐप्लिकेशन को Weave सेवा के साथ सिंक करता है. यह कॉलबैक तब किया जाएगा, जब सेवा मैनेजर को समय की जानकारी के साथ जवाब मिलेगा. कॉलबैक के बनने से पहले ही, कैश मेमोरी पहले से भर जानी चाहिए.
[in] aConnectBegin
OnConnectBegin टाइप का एक फ़ंक्शन पॉइंटर, जिसे कनेक्शन इंस्टॉल करने से ठीक पहले कॉल किया जाता है और जो ऐप्लिकेशन को #WeaveConnection::Connect() में पास किए जाने वाले आर्ग्युमेंट को देखने और उनमें बदलाव करने की अनुमति देता है. NULL (डिफ़ॉल्ट) का वैल्यू कॉलबैक को बंद कर देता है.
लौटाए गए सामान
अगर कोई फ़ंक्शन तर्क गलत है, तो WEAVE_ERROR_INVALID_AUTO; या फिर, WEAVE_NO_ERROR.

लुकअप

WEAVE_ERROR lookup(
  uint64_t aServiceEp,
  HostPortList *outHostPortList
)

यह तरीका, सेवा के एंडपॉइंट के लिए डायरेक्ट्री की जानकारी खोजता है.

अगर सेवा डायरेक्ट्री का समाधान हो गया है, यानी कि एक सफल connect() कार्रवाई हुई है, तो यह तरीका दिए गए HostPortList ऑब्जेक्ट से भर जाएगा.

ध्यान दें: HostPortList, WeaveServiceManager ऑब्जेक्ट से जुड़ा होता है. यह तब तक मान्य रहता है, जब तक सेवा डायरेक्ट्री कैश को मिटा नहीं दिया जाता या कोई दूसरा सर्विस डायरेक्ट्री लुकअप नहीं होता.

ब्यौरा
पैरामीटर
[in] aServiceEp
सेवा एंडपॉइंट का आइडेंटिफ़ायर, ताकि उसे खोजा जा सके.
[out] outHostPortList
HostPortList का पॉइंटर, जो डायरेक्ट्री एंट्री के लुकअप पर अपने-आप भर जाएगा. शून्य नहीं होना चाहिए.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर यह नहीं हो पाता है, तो इससे जुड़ा गड़बड़ी कोड दिखाया जाता है.
WEAVE_ERROR_INVALID_SERVICE_EP
अगर दिया गया सेवा एंडपॉइंट नहीं मिला.
WEAVE_ERROR_INVALID_DIRECTORY_ENTRY_TYPE
अगर डायरेक्ट्री में एक अज्ञात डायरेक्ट्री एंट्री टाइप है.

लुकअप

WEAVE_ERROR lookup(
  uint64_t aServiceEp,
  uint8_t *aControlByte,
  uint8_t **aDirectoryEntry
)

यह तरीका, सेवा के एंडपॉइंट के लिए डायरेक्ट्री की जानकारी खोजता है.

अगर सेवा डायरेक्ट्री का समाधान हो गया है या नहीं, यानी कि एक सफल connect() कार्रवाई हुई है, तो यह तरीका सेवा एंडपॉइंट पहचानकर्ता देते हुए एक डायरेक्ट्री एंट्री दिखाएगा.

इस तरीके से सेवा डायरेक्ट्री को लागू करने के तरीके का पता चलता है. इसे लागू करने के लिए इस तरीके के वैरिएंट का इस्तेमाल करना चाहिए जो HostPortList जनरेट करता है.

ब्यौरा
पैरामीटर
[in] aServiceEp
सेवा एंडपॉइंट का आइडेंटिफ़ायर, ताकि उसे खोजा जा सके.
[out] aControlByte
डायरेक्ट्री एंट्री कंट्रोल बाइट लिखने के लिए, जगह का पॉइंटर.
[out] aDirectoryEntry
यह पॉइंटर-पॉइंटर को डायरेक्ट्री एंट्री में ले जाने के लिए है.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर यह नहीं हो पाता है, तो इससे जुड़ा गड़बड़ी कोड दिखाया जाता है.
WEAVE_ERROR_INVALID_SERVICE_EP
अगर दिया गया सेवा एंडपॉइंट नहीं मिला.
WEAVE_ERROR_INVALID_DIRECTORY_ENTRY_TYPE
अगर डायरेक्ट्री में एक अज्ञात डायरेक्ट्री एंट्री टाइप है.

onConnectionबंद है

void onConnectionClosed(
  WEAVE_ERROR aError
)

यह तरीका, जुड़े हुए Weave एक्सचेंज के संदर्भ में बंद किए गए कनेक्शन इवेंट को मैनेज करता है.

ब्यौरा
पैरामीटर
[in] aError
इस कनेक्शन के बंद होने की वजह दिखाने वाली Weave गड़बड़ी.

onConnectionपूरी

void onConnectionComplete(
  WEAVE_ERROR aError
)

यह तरीका, सेवा एंडपॉइंट के लेन-देन से जुड़े लेन-देन के लिए, कनेक्ट किए गए पूरे इवेंट को हैंडल करता है.

कई तरह की संभावनाएं हैं. ऐसा हो सकता है कि इस मामले में कनेक्शन काम न कर पाया हो. अगर ऐसा नहीं किया जाता है, तो असल में कनेक्शन पूरा हो जाता है और हमें जो करना होता है वह एक्सचेंज का संदर्भ खोलकर डायरेक्ट्री क्वेरी भेज देता है.

ब्यौरा
पैरामीटर
[in] aError
कनेक्शन सेट अप करते समय किसी तरह की गड़बड़ी हुई, तो Weave गड़बड़ी होगी.

onResponseResponse

void onResponseReceived(
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

यह तरीका, डायरेक्ट्री सेवा के साथ बातचीत में दिए गए किसी भी जवाब मैसेज को हैंडल करता है.

ब्यौरा
पैरामीटर
[in] aProfileId
इस इनकमिंग मैसेज का प्रोफ़ाइल आईडी.
[in] aMsgType
इस मैसेज के लिए, प्रोफ़ाइल के हिसाब से टाइप.
[in] aMsg
इस मैसेज का कॉन्टेंट.

onResponseTimeout

void onResponseTimeout(
  void
)

यह तरीका टाइम आउट इवेंट को मैनेज करता है, जिसमें डायरेक्ट्री की सेवा से कोई जवाब नहीं मिला.

स्थान बदलें

void relocate(
  WEAVE_ERROR aError
)

यह तरीका, सेवा की डायरेक्ट्री के कैश को एक जगह से दूसरी जगह ले जाता है.

जब कोई सेवा एंडपॉइंट, स्थिति कोड kStatus_Relocations के साथ स्टेटस रिपोर्ट दिखाता है, तो ऐप्लिकेशन कैश मेमोरी में जगह खाली करने और कनेक्शन अनुरोधों को रद्द करने के लिए, unresolve() का इस्तेमाल कर सकता है. इस तरीके से, पहली बार में unresolve() को कॉल करके, गड़बड़ी को मैनेज करना आसान हो जाता है. अगर समस्या अभी तक हल नहीं होती है, तो reset().

तरीके का यह वर्शन - यहां पुराने सिस्टम के साथ काम करने की सुविधा के लिए गड़बड़ी मिलती है. साथ ही, गड़बड़ी का पता लगाने और उसे लॉग करने के बाद, जगह बदलें(शून्य) पर कॉल किया जाता है.

ब्यौरा
पैरामीटर
[in] aError
लॉग में कोई गड़बड़ी है.
यह भी देखें:
जगह बदलें(शून्य)

स्थान बदलें

void relocate(
  void
)

यह तरीका, सेवा की डायरेक्ट्री के कैश को एक जगह से दूसरी जगह ले जाता है.

जब कोई सेवा एंडपॉइंट, स्थिति कोड kStatus_Relocations के साथ स्टेटस रिपोर्ट दिखाता है, तो ऐप्लिकेशन कैश मेमोरी में जगह खाली करने और कनेक्शन अनुरोधों को रद्द करने के लिए, unresolve() का इस्तेमाल कर सकता है. इस तरीके से, पहली बार में unresolve() को कॉल करके, गड़बड़ी को मैनेज करना आसान हो जाता है. अगर समस्या अभी तक हल नहीं होती है, तो reset().

यह भी देखें:
जगह बदलें(WEAVE_ERROR)

replaceOrAddCacheEntry

WEAVE_ERROR replaceOrAddCacheEntry(
  uint16_t port,
  const char *hostName,
  uint8_t hostLen,
  uint64_t serviceEndpointId
)

डायरेक्ट्री की सूची की शुरुआत में, होस्टनेम और पोर्ट आईडी की ओवरराइड की गई डायरेक्ट्री की एंट्री जोड़ें.

रीसेट करें

void reset(
  WEAVE_ERROR aError
)

यह तरीका सेवा मैनेजर को उसकी शुरुआती स्थिति पर रीसेट कर देता है.

यह तरीका कम्यूनिकेशन की स्थिति, कैश मेमोरी की स्थिति, और कनेक्ट किए गए बाकी अनुरोधों की स्थिति के साथ-साथ सभी सेवा मैनेजर की स्थितियों को रीसेट करता है.

इस तरीके का वर्शन - यहां पुराने सिस्टम के साथ काम करने की सुविधा के लिए गड़बड़ी मिलती है. इसके बाद, गड़बड़ी को लॉग करके रीसेट करें पर कॉल किया जाता है.

ब्यौरा
पैरामीटर
[in] aError
इस कार्रवाई को ट्रिगर करने वाली गड़बड़ी.
यह भी देखें:
रीसेट करें(शून्य)

रीसेट करें

void reset(
  void
)

यह तरीका सेवा मैनेजर को उसकी शुरुआती स्थिति पर रीसेट कर देता है.

यह तरीका कम्यूनिकेशन की सभी स्थितियों, कैश मेमोरी की स्थिति, और कनेक्ट किए गए बाकी अनुरोधों के लिए स्थिति के साथ-साथ सेवा मैनेजर के सभी राज्यों को रीसेट करता है.

यह भी देखें:
रीसेट करें(WEAVE_ERROR)

अनसुलझी

void unresolve(
  WEAVE_ERROR aError
)

इस तरीके से सेवा की डायरेक्ट्री की कैश मेमोरी अमान्य हो जाती है.

यह तरीका, सेवा डायरेक्ट्री की कैश मेमोरी की स्थिति सेट करता है, ताकि अगले अनुरोध पर, सेवा मैनेजर, सेवा डायरेक्ट्री की क्वेरी जारी करे.

तरीके का यह वर्शन - यहां पुराने सिस्टम के साथ काम करने की सुविधा के लिए गड़बड़ियों के बारे में बताया जाता है और एक लॉग बनाया जाता है. इसके बाद, समाधान नहीं किया जा सका .

ब्यौरा
पैरामीटर
[in] aError
इस कार्रवाई को ट्रिगर करने वाली गड़बड़ी.
यह भी देखें:
समाधान न किया गया(शून्य)

अनसुलझी

void unresolve(
  void
)

इस तरीके से सेवा की डायरेक्ट्री की कैश मेमोरी अमान्य हो जाती है.

यह तरीका, सेवा डायरेक्ट्री की कैश मेमोरी की स्थिति सेट करता है, ताकि अगले अनुरोध पर, सेवा मैनेजर, सेवा डायरेक्ट्री की क्वेरी जारी करे.

यह भी देखें:
समाधान न किया गया(WEAVE_ERROR)

~WeaveServiceManager

 ~WeaveServiceManager(
  void
)

इस तरीके से WeaveServiceManager इंस्टेंस का नुकसान होता है.