nl::Weave::Profiles::ServiceDirectory::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::Profiles::ServiceDirectory::WeaveServiceManager::OnConnectBegin
void(*
कनेक्शन स्थापित होने से ठीक पहले बनाया गया एक ऐप्लिकेशन कॉलबैक.
OnServiceEndpointQueryBegin)(void) nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager::OnServiceEndpointQueryBegin
void(*
आउटगोइंग सर्विस डायरेक्ट्री क्वेरी के समय को मार्क करने के लिए एक ऐप्लिकेशन कॉलबैक.
OnServiceEndpointQueryEndWithTimeInfo)(uint64_t timeQueryReceiptMsec, uint32_t timeProcessMsec) nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager::OnServiceEndpointQueryEndWithTimeInfo
void(*
सर्विस डायरेक्ट्री रिस्पॉन्स से समय की वैल्यू डिलीवर करने के लिए, ऐप्लिकेशन कॉलबैक.
RootDirectoryAccessor)(uint8_t *aDirectory, uint16_t aLength) nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager::RootDirectoryAccessor
रूट डायरेक्ट्री की जानकारी के लिए ऐक्सेसर फ़ंक्शन.
StatusHandler)(void *anAppState, WEAVE_ERROR anError, StatusReport *aStatusReport) nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager::StatusHandler
void(*
गड़बड़ी और स्टेटस की स्थितियों के लिए एक हैंडलर.

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

SetConnectBeginCallback(OnConnectBegin aConnectBegin)
void
कनेक्शन स्थापित होने से ठीक पहले, कॉल करने के लिए कॉलबैक फ़ंक्शन सेट करें.
cancel(uint64_t aServiceEp, void *aAppState)
void
यह तरीका कनेक्ट करने का अनुरोध रद्द कर देता है.
clearCache(void)
void
अगर स्थिति टर्मिनल kServiceMgrState_ डेवलपर की स्थिति में होती है, तो यह तरीके से मैनेजर की स्थिति और कैश मेमोरी को मिटा दिया जाता है. इसका मतलब है कि सर्विस डायरेक्ट्री के एंडपॉइंट से जवाब मिला था.
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::Weave::Profiles::ServiceDirectory::WeaveServiceManager::ConnectRequest

यह क्लास, ऐसे लेन-देन के बारे में बताती है जिसे सेवा मैनेजर मैनेज करता है.

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

@303

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

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

OnConnectBegin

void(* OnConnectBegin)(struct ServiceConnectBeginArgs &args)

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

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

OnServiceEndpointQueryBegin

void(* OnServiceEndpointQueryBegin)(void)

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

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

OnServiceEndpointQueryEndWithTimeInfo

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

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

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

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

RootDirectoryAccessor

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

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

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

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

StatusHandler

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

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

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

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

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

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() कॉल को दिए गए ऐप्लिकेशन की स्थिति के ऑब्जेक्ट का पॉइंटर.

clearCache

void clearCache(
  void
)

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

कनेक्ट करें

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
वैकल्पिक टीसीपी कनेक्ट टाइम आउट - मिलीसेकंड में.
[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
यह OnServiceEndpointQueryEndWithTimeInfo टाइप का फ़ंक्शन पॉइंटर है. इसे सर्विस डायरेक्ट्री मिलने पर कॉल किया जाता है. इसकी मदद से, ऐप्लिकेशन को जवाब में दिए गए समय फ़ील्ड का इस्तेमाल करके, Weave सेवा के साथ सिंक करने की अनुमति दी जाती है. यह कॉलबैक तब किया जाएगा, जब सेवा मैनेजर को समय की जानकारी के साथ जवाब मिलेगा. कॉलबैक किए जाने से पहले, कैश मेमोरी को सही तरीके से भरा जाना चाहिए.
[in] aConnectBegin
OnConnectbegin टाइप का फ़ंक्शन पॉइंटर, जिसे कनेक्शन इंस्टालेशन से ठीक पहले कॉल किया जाता है. इसकी मदद से, ऐप्लिकेशन #WeaveConnection::Connect() को पास किए गए तर्कों को देख सकते हैं और उनमें वैकल्पिक रूप से बदलाव कर सकते हैं. NULL (डिफ़ॉल्ट) का एक मान कॉलबैक को बंद कर देता है.
लौटाए गए सामान
अगर फ़ंक्शन आर्ग्युमेंट अमान्य है, तो WEAVE_ERROR_INVALID_ARGUMENT डालें. ऐसा नहीं होने पर, 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
अगर डायरेक्ट्री में किसी ऐसी डायरेक्ट्री के एंट्री टाइप की जानकारी शामिल है जिसकी जानकारी नहीं है.

onConnectionClosed

void onConnectionClosed(
  WEAVE_ERROR aError
)

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

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

onConnectionComplete

void onConnectionComplete(
  WEAVE_ERROR aError
)

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

इसकी कुछ संभावनाएं हैं. सबसे पहले, हो सकता है कि कनेक्शन विफल हो गया हो, जिस स्थिति में हमने पूर्ण कर लिया है. अगर ऐसा नहीं होता है, तो असल में कनेक्शन पूरा हो जाता है और हमें इसके लिए एक्सचेंज कॉन्टेक्स्ट खोलना होता है और डायरेक्ट्री क्वेरी भेजना होता है.

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

onResponseReceived

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_Re डिज़ाइन के साथ स्टेटस रिपोर्ट दिखाता है, तो ऐप्लिकेशन कैश मेमोरी को मिटाने और कनेक्शन के अनुरोधों को रद्द करने के लिए, unresolve() को कॉल कर सकता है. यह तरीका पहली बार में unresolve() को कॉल करके गड़बड़ी को मैनेज करने को आसान बनाता है. साथ ही, अगर समस्या अभी तक हल नहीं हुई है, तो reset() को लागू किया जा सकता है.

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

जानकारी
पैरामीटर
[in] aError
लॉग करने में गड़बड़ी.
यह भी देखें:
relocate(void)

दूसरी जगह ले जाएं

void relocate(
  void
)

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

जब कोई सर्विस एंडपॉइंट, स्टेटस कोड kStatus_Re डिज़ाइन के साथ स्टेटस रिपोर्ट दिखाता है, तो ऐप्लिकेशन कैश मेमोरी को मिटाने और कनेक्शन के अनुरोधों को रद्द करने के लिए, 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
)

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

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

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

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

रीसेट कराे

void reset(
  void
)

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

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

यह भी देखें:
reset(WEAVE_ERROR)

बिना हल हुआ

void unresolve(
  WEAVE_ERROR aError
)

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

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

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

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

बिना हल हुआ

void unresolve(
  void
)

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

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

यह भी देखें:
unresolve(WEAVE_ERROR)

~WeaveServiceManager

 ~WeaveServiceManager(
  void
)

इस तरीके से WeaveServiceManager इंस्टेंस मिट जाता है.