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_ Chromebook की स्थिति में हो. इसका मतलब है कि सर्विस डायरेक्ट्री एंडपॉइंट से जवाब मिला है.
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 के बाद से msec की संख्या.
[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_NO_ERROR होगा.
[in] aStatusReport
रिमोट डायरेक्ट्री सेवा से जनरेट की गई स्टेटस रिपोर्ट का पॉइंटर. ऐसे मामले में जहां कोई स्थिति रिपोर्ट नहीं थी और पिछले तर्क में कोई आंतरिक गड़बड़ी पास की गई थी, वहां यह तर्क शून्य होगा.

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

SetConnectBeginCallback

void SetConnectBeginCallback(
  OnConnectBegin aConnectBegin
)

कनेक्शन बनाने के तुरंत पहले कॉल किए जाने वाले कॉलबैक फ़ंक्शन को सेट करें.

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

WeaveServiceManager

 WeaveServiceManager(
  void
)

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

ध्यान दें कि इस इंस्टेंस को और शुरू करने के लिए, init() को कॉल करना ज़रूरी है.

अभी नहीं

void cancel(
  uint64_t aServiceEp,
  void *aAppState
)

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

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

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

clearCache

void clearCache(
  void
)

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

कनेक्ट करें

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

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

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

एक जगह से दूसरी जगह शिफ़्ट हो जाना

void relocate(
  void
)

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

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

रीसेट करें

void reset(
  void
)

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

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

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

अनसॉल्व करें

void unresolve(
  WEAVE_ERROR aError
)

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

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

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

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

अनसॉल्व करें

void unresolve(
  void
)

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

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

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

~WeaveServiceManager

 ~WeaveServiceManager(
  void
)

यह तरीका WeaveServiceManager इंस्टेंस को बंद कर देता है.