nl:: बुनें:: प्रोफाइल:: बुनाई सुरंग :: WeaveTunnelConnectionMgr

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

यह वर्ग सभी बुनाई सुरंग कनेक्शन राज्यों और संबंधित प्रबंधन तर्क और कार्यों को समाहित करता है।

सारांश

इस वर्ग का एक उदाहरण प्रत्येक इंटरफ़ेस पर सुरंग का प्रबंधन करने के लिए उपयोग किया जाएगा जिसके माध्यम से सेवा के लिए बुनाई सुरंग मौजूद होगी।

निर्माता और विनाशक De

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
}
एन्यूम
TunnelConnNotifyReasons टाइपडीफ
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
एन्यूम
TunnelConnectionState टाइपडीफ

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

mServiceConnDelayPolicyCallback

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

Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
प्रारंभ WeaveTunnelConnectionMgr
ServiceTunnelClose ( WEAVE_ERROR err)
void
सर्विस टनल को बंद करें।
SetInterfaceName (const char *intfName)
void
टनल कनेक्शन के लिए इंटरफेसनाम सेट करें।
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 पैकेट को डीकैप्सुलेट करने के बाद सर्विस टीसीपी कनेक्शन से टनल वाले IPv6 पैकेट प्राप्त करने और टनल एंडपॉइंट इंटरफेस को फॉरवर्ड करने के लिए हैंडलर।
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report)
void
यदि सेवा प्रबंधक सेवा के लिए TCP कनेक्शन स्थापित करने में विफल रहता है, तो हैंडलर का आह्वान किया जाता है।

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

कनेक्ट पॉलिसी कॉलबैक

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

अगली सुरंग के पुन: कनेक्ट होने से पहले प्रतीक्षा करने के लिए समय के अंतराल को लाने के लिए कॉलबैक।

विवरण
मापदंडों
[in] appState
सब्सक्रिप्शन क्लाइंट के प्रारंभ के दौरान ऐप स्टेट पॉइंटर सेट।
[in] reconnectParam
पुन: संयोजन विलंब की गणना को प्रभावित करने वाले मापदंडों के साथ संरचना।
[out] delayMsec
अगले पुन: कनेक्ट करने के प्रयास से पहले प्रतीक्षा करने के लिए मिलीसेकंड में समय।

TunnelConnसूचित करेंकारण

 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

यह इंगित करने के लिए प्रयोग किया जाता है कि प्राथमिक बुनाई सुरंग ऊपर है।

TunnelConnसूचित करेंकारण

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

टनलकनेक्शनस्टेट

 TunnelConnectionState
गुण
kState_Connecting

यह इंगित करने के लिए उपयोग किया जाता है कि वीव टनल कनेक्शन शुरू किया गया है।

kState_ConnectionEstablished

यह इंगित करने के लिए उपयोग किया जाता है कि वीव टनल कनेक्शन स्थापित है और मार्ग की जानकारी का आदान-प्रदान किया जा रहा है।

kState_NotConnected

यह इंगित करने के लिए उपयोग किया जाता है कि वीव टनल जुड़ा नहीं है।

kState_ReconnectRecvd

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

kState_TunnelClosing

यह इंगित करने के लिए प्रयोग किया जाता है कि बुनाई सुरंग बंद हो रही है और कनेक्शन टूटा जा रहा है।

kState_TunnelOpen

यह इंगित करने के लिए उपयोग किया जाता है कि वीव टनल खुला है और डेटा ट्रैफ़िक ट्रांज़िट के लिए तैयार है।

टनलकनेक्शनस्टेट

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

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

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

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

में इस

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

प्रारंभ WeaveTunnelConnectionMgr

सेवा सुरंग बंद

void ServiceTunnelClose(
  WEAVE_ERROR err
)

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

विवरण
मापदंडों
[in] err
कॉलर से एक WEAVE_ERROR पास हुआ।

सेटइंटरफेसनाम

void SetInterfaceName(
  const char *intfName
)

टनल कनेक्शन के लिए इंटरफेसनाम सेट करें।

विवरण
मापदंडों
[in] tunIntf
सेवा सुरंग कनेक्शन स्थापित करने के लिए इंटरफ़ेसनाम।

सेटइंटरफेस टाइप

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

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

विवरण
मापदंडों
[in] srcIntfType
सेवा सुरंग कनेक्शन के लिए इंटरफ़ेस का नेटवर्क प्रौद्योगिकी प्रकार।

शट डाउन

void Shutdown(
  void
)

शटडाउन WeaveTunnelConnectionMgr

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

सर्विस टनल कनेक्शन बंद करें और फिर से कनेक्ट करने का प्रयास करें।

विवरण
मापदंडों
[in] err
कॉलर से एक WEAVE_ERROR पास हुआ।

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

WEAVE_ERROR TryConnectingNow(
  void
)

सेवा से संबंध स्थापित करने का प्रयास।

सेवा प्रबंधक का उपयोग करके या सीधे सेवा से कनेक्शन स्थापित करने का प्रयास करें।

WeaveTunnelConnectionMgr

 WeaveTunnelConnectionMgr(
  void
)

सार्वजनिक स्थैतिक कार्य

DefaultReconnectPolicyCallback

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

अगली बार सेवा से जुड़ने के लिए डिफ़ॉल्ट नीति कार्यान्वयन।

यह नीति WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX तक के फाइबोनैचि अनुक्रम का अनुसरण करते हुए, एक बढ़ती हुई विंडो पर एक यादृच्छिक समयावधि (मिलीसेकंड रिज़ॉल्यूशन के साथ) चुनती है।

विवरण
मापदंडों
[in] appState
सब्सक्रिप्शन क्लाइंट के प्रारंभ के दौरान ऐप स्टेट पॉइंटर सेट।
[in] reconnectParam
पुन: संयोजन विलंब की गणना को प्रभावित करने वाले मापदंडों के साथ संरचना।
[out] delayMsec
अगले पुन: कनेक्ट करने के प्रयास से पहले प्रतीक्षा करने के लिए मिलीसेकंड में समय।

HandleServiceConnectionClosed

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

सर्विस टीसीपी कनेक्शन बंद होने पर हैंडलर को बुलाया जाता है।

यदि mServiceConKeepAlive सत्य पर सेट है, तो डिवाइस सेवा से कनेक्शन को फिर से स्थापित करने का प्रयास करता है।

डिवाइस, बाद में, सेवा से कनेक्शन को फिर से स्थापित करने का प्रयास करता है।

विवरण
मापदंडों
[in] con
करने के लिए एक सूचक WeaveConnection वस्तु।
[in] conErr
भीतर कोई त्रुटि होने WeaveConnection या WEAVE_NO_ERROR।

हैंडल सेवा कनेक्शन पूर्णComp

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 पैकेट को डीकैप्सुलेट करने के बाद सर्विस टीसीपी कनेक्शन से टनल वाले IPv6 पैकेट प्राप्त करने और टनल एंडपॉइंट इंटरफेस को फॉरवर्ड करने के लिए हैंडलर।

विवरण
मापदंडों
[in] con
करने के लिए एक सूचक WeaveConnection वस्तु।
[in] msgInfo
करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] message
टनल वाले IPv6 पैकेट को पकड़े हुए PacketBuffer ऑब्जेक्ट के लिए एक पॉइंटर।

ServiceMgrStatusHandler

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

यदि सेवा प्रबंधक सेवा के लिए TCP कनेक्शन स्थापित करने में विफल रहता है, तो हैंडलर का आह्वान किया जाता है।