nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr

#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>

इस क्लास में, Weave टनल के कनेक्शन की सभी स्थितियां और उससे जुड़े मैनेजमेंट लॉजिक और फ़ंक्शन शामिल किए जाते हैं.

खास जानकारी

इस क्लास के एक इंस्टेंस का इस्तेमाल, हर उस इंटरफ़ेस पर टनल को मैनेज करने के लिए किया जाएगा जिसके ज़रिए सेवा तक जाने वाली Weave टनल मौजूद होगी.

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

WeaveTunnelConnectionMgr(void)

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

ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) टाइपडिफ़
void(*
अगली टनल के फिर से कनेक्ट होने से पहले इंतज़ार का समय फ़ेच करने के लिए कॉलबैक करें.
TunnelConnNotifyReasons{
  kStatus_TunDown = 0,
  kStatus_TunPrimaryUp = 1,
  kStatus_TunPrimaryConnError = 2,
  kStatus_TunBackupConnError = 3,
  kStatus_TunFailoverToBackup = 4,
  kStatus_TunBackupOnlyDown = 5,
  kStatus_TunBackupUp = 6,
  kStatus_TunPrimaryAndBackupUp = 7,
  kStatus_TunPrimaryReconnectRcvd = 8,
  kStatus_TunBackupReconnectRcvd = 9,
  kStatus_TunPrimaryLiveness = 10,
  kStatus_TunBackupLiveness = 11
}
enum
TunnelConnNotifyReasons टाइपडिफ़
TunnelConnectionState{
  kState_NotConnected = 0,
  kState_Connecting = 1,
  kState_ConnectionEstablished = 2,
  kState_TunnelOpen = 3,
  kState_TunnelClosing = 4,
  kState_ReconnectRecvd = 5
}
enum
TunnelConnectionState टाइपडिफ़

सार्वजनिक विशेषताएं

mServiceConnDelayPolicyCallback

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

Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
WeaveTunnelConnectionMgr को शुरू करें.
ServiceTunnelClose(WEAVE_ERROR err)
void
सर्विस टनल बंद करें.
SetInterfaceName(const char *intfName)
void
टनल कनेक्शन के लिए InterfaceName सेट करें.
SetInterfaceType(const SrcInterfaceType srcIntfType)
void
टनल कनेक्शन के लिए SrcInterfaceType सेट करें.
Shutdown(void)
void
WeaveTunnelConnectionMgr को बंद करें.
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
void
सर्विस टनल के कनेक्शन को रोकें और फिर से कनेक्ट करने की कोशिश करें.
TryConnectingNow(void)
सेवा से कनेक्शन बनाने की कोशिश करना.

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

DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
void
सेवा से अगली बार कनेक्ट करने के लिए, नीति को लागू करने का डिफ़ॉल्ट तरीका.
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
void
सर्विस टीसीपी कनेक्शन बंद होने पर हैंडलर शुरू किया गया.
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
void
सर्विस टीसीपी कनेक्शन पूरा होने पर हैंडलर का अनुरोध किया गया.
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
void
सेवा टीसीपी कनेक्शन से टनल किए गए IPv6 पैकेट पाने के लिए और टनल हेडर के अंदर से रॉ आईपीवी6 पैकेट को डीकैप्सुलेट करने के बाद, टनल EndPoint इंटरफ़ेस पर फ़ॉरवर्ड करने के लिए हैंडलर.
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
void
अगर सेवा मैनेजर, सेवा से टीसीपी कनेक्शन नहीं कर पाया, तो हैंडलर शुरू किया गया.

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

ConnectPolicyCallback

void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)

अगली टनल के फिर से कनेक्ट होने से पहले इंतज़ार का समय फ़ेच करने के लिए कॉलबैक करें.

जानकारी
पैरामीटर
[in] appState
SubscriptionClient, शुरू करने के दौरान, ऐप्लिकेशन की स्थिति का पॉइंटर सेट किया गया.
[in] reconnectParam
स्ट्रक्चर, फिर से कनेक्ट होने में देरी का हिसाब लगाने वाले पैरामीटर का इस्तेमाल करता है.
[out] delayMsec
अगली बार फिर से कनेक्ट करने की कोशिश से पहले इंतज़ार का समय मिलीसेकंड में.

TunnelConnNotifyReasons

 TunnelConnNotifyReasons
प्रॉपर्टी
kStatus_TunBackupConnError

इसका इस्तेमाल यह बताने के लिए किया जाता है कि बैकअप टनल कनेक्शन की कोशिश सफल नहीं हुई या किसी मौजूदा टनल को कनेक्ट नहीं किया गया या उसे बंद कर दिया गया.

kStatus_TunBackupLiveness

इसका इस्तेमाल, बैकअप वीव टनल पर टनल लाइवनेस जांच के बारे में जानकारी देने के लिए किया जाता है.

kStatus_TunBackupOnlyDown

इसका इस्तेमाल यह बताने के लिए किया जाता है कि बैकअप टनल बंद है.

kStatus_TunBackupReconnectRcvd

इसका इस्तेमाल यह बताने के लिए किया जाता है कि सेवा ने बैकअप वीव सुरंग के लिए फिर से कनेक्ट करने का अनुरोध किया है.

kStatus_TunBackupUp

इसका इस्तेमाल यह बताने के लिए किया जाता है कि बैकअप वीव टनल चालू है.

kStatus_TunDown

इसका इस्तेमाल यह दिखाने के लिए किया जाता है कि वीव सुरंग नीचे चली गई है.

kStatus_TunFailoverToBackup

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

kStatus_TunPrimaryAndBackupUp

इसका इस्तेमाल यह बताने के लिए किया जाता है कि प्राइमरी और बैकअप वीव टनल चालू है.

kStatus_TunPrimaryConnError

इसका इस्तेमाल यह बताने के लिए किया जाता है कि मुख्य टनल कनेक्ट करने की कोशिश सफल नहीं हुई या किसी मौजूदा टनल को कनेक्ट करने की कोशिश उसे रद्द कर दी गई या उसे बंद कर दिया गया.

kStatus_TunPrimaryLiveness

प्राइमरी वीव टनल पर टनल लाइफ़नेस की जांच के बारे में जानकारी देने के लिए इस्तेमाल किया जाता है.

kStatus_TunPrimaryReconnectRcvd

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

kStatus_TunPrimaryUp

इसका इस्तेमाल यह बताने के लिए किया जाता है कि मुख्य वीव टनल ऊपर है.

TunnelConnNotifyReasons

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons

TunnelConnectionState

 TunnelConnectionState
प्रॉपर्टी
kState_Connecting

इसका इस्तेमाल यह बताने के लिए किया जाता है कि Weave टनल कनेक्शन शुरू कर दिया गया है.

kState_ConnectionEstablished

इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल कनेक्शन बना हुआ है और रास्ते की जानकारी शेयर की जा रही है.

kState_NotConnected

इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल जुड़ी हुई है.

kState_ReconnectRecvd

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

kState_TunnelClosing

इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल बंद हो रही है और कनेक्शन टूट रहा है.

kState_TunnelOpen

इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल खुली है और यह डेटा ट्रैफ़िक ट्रांज़िट के लिए तैयार है.

TunnelConnectionState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState

सार्वजनिक विशेषताएं

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

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

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelType tunType,
  SrcInterfaceType srcIntfType,
  const char *connIntfName
)

WeaveTunnelConnectionMgr को शुरू करें.

ServiceTunnelClose

void ServiceTunnelClose(
  WEAVE_ERROR err
)

सर्विस टनल बंद करें.

जानकारी
पैरामीटर
[in] err
कॉलर से WEAVE_ERROR पास किया गया.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

टनल कनेक्शन के लिए InterfaceName सेट करें.

जानकारी
पैरामीटर
[in] tunIntf
सर्विस टनल कनेक्शन सेट करने के लिए InterfaceName.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

टनल कनेक्शन के लिए SrcInterfaceType सेट करें.

जानकारी
पैरामीटर
[in] srcIntfType
सर्विस टनल कनेक्शन के लिए इंटरफ़ेस की नेटवर्क टेक्नोलॉजी का टाइप.

बंद करें

void Shutdown(
  void
)

WeaveTunnelConnectionMgr को बंद करें.

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

सर्विस टनल के कनेक्शन को रोकें और फिर से कनेक्ट करने की कोशिश करें.

जानकारी
पैरामीटर
[in] err
कॉलर से WEAVE_ERROR पास किया गया.

TryConnectingNow

WEAVE_ERROR TryConnectingNow(
  void
)

सेवा से कनेक्शन बनाने की कोशिश करना.

ServiceManager या सीधे तौर पर सेवा का इस्तेमाल करके, सेवा से कनेक्ट करने की कोशिश करें.

WeaveTunnelConnectionMgr

 WeaveTunnelConnectionMgr(
  void
)

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

DefaultReconnectPolicyCallback

void DefaultReconnectPolicyCallback(
  void *const appstate,
  ReconnectParam & reconnectParam,
  uint32_t & delayMsec
)

सेवा से अगली बार कनेक्ट करने के लिए, नीति को लागू करने का डिफ़ॉल्ट तरीका.

यह नीति, WEAVE_CONFIG_ बढ़े हुए क्रम के बाद WEAVE_CONFIG_ बढ़े करने वाले क्रम के बाद, मिलीसेकंड और मिलीसेकंड के रिज़ॉल्यूशन के साथ, WEAVE_CONFIG_ जुड़ेतो

जानकारी
पैरामीटर
[in] appState
SubscriptionClient, शुरू करने के दौरान, ऐप्लिकेशन की स्थिति का पॉइंटर सेट किया गया.
[in] reconnectParam
स्ट्रक्चर, फिर से कनेक्ट होने में देरी का हिसाब लगाने वाले पैरामीटर का इस्तेमाल करता है.
[out] delayMsec
अगली बार फिर से कनेक्ट करने की कोशिश से पहले इंतज़ार का समय मिलीसेकंड में.

HandleServiceConnectionClosed

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

सर्विस टीसीपी कनेक्शन बंद होने पर हैंडलर शुरू किया गया.

अगर mServiceConKeepAlive को सही पर सेट किया गया है, तो डिवाइस सेवा से कनेक्शन फिर से स्थापित करने की कोशिश करता है.

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

जानकारी
पैरामीटर
[in] con
WeaveConnection ऑब्जेक्ट का पॉइंटर.
[in] conErr
WeaveConnection या WEAVE_NO_ERROR में कोई भी गड़बड़ी.

HandleServiceConnectionComplete

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

सर्विस टीसीपी कनेक्शन पूरा होने पर हैंडलर का अनुरोध किया गया.

डिवाइस इस फ़ंक्शन से सेवा को टनल कंट्रोल कमांड शुरू करता है.

डिवाइस इस फ़ंक्शन से सेवा को टनल कंट्रोल कमांड शुरू करता है.

जानकारी
पैरामीटर
[in] con
WeaveConnection ऑब्जेक्ट का पॉइंटर.
[in] conErr
WeaveConnection या WEAVE_NO_ERROR में कोई भी गड़बड़ी.

RecvdFromService

void RecvdFromService(
  WeaveConnection *con,
  const WeaveMessageInfo *msgInfo,
  PacketBuffer *message
)

सेवा टीसीपी कनेक्शन से टनल किए गए IPv6 पैकेट पाने के लिए और टनल हेडर के अंदर से रॉ आईपीवी6 पैकेट को डीकैप्सुलेट करने के बाद, टनल EndPoint इंटरफ़ेस पर फ़ॉरवर्ड करने के लिए हैंडलर.

जानकारी
पैरामीटर
[in] con
WeaveConnection ऑब्जेक्ट का पॉइंटर.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर.
[in] message
टनल किए गए IPv6 पैकेट को पकड़े हुए PacketBuffer ऑब्जेक्ट का पॉइंटर.

ServiceMgrStatusHandler

void ServiceMgrStatusHandler(
  void *appState,
  WEAVE_ERROR err,
  StatusReport *report
)

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