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)
|
typedefvoid(*
अगली टनल के फिर से कनेक्ट होने से पहले इंतज़ार करने के लिए, समय का अंतराल फ़ेच करने के लिए कॉलबैक. |
TunnelConnNotifyReasons{
|
enum |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
enum |
TunnelConnectionState
|
typedef |
सार्वजनिक एट्रिब्यूट |
|
---|---|
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
हैंडलर, सेवा टीसीपी कनेक्शन से टनल किए गए आईपीवी6 पैकेट पाने और टनल हेडर के अंदर से रॉ आईपीवी6 पैकेट हटाने के बाद, टनल एंडपॉइंट इंटरफ़ेस पर आगे भेजने की सुविधा देता है.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
अगर सर्विस मैनेजर, सेवा के साथ टीसीपी कनेक्शन को स्थापित नहीं कर पाता है, तो हैंडलर को हैंडलर ट्रिगर किया गया.
|
सार्वजनिक टाइप
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &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
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल कनेक्शन शुरू कर दिया गया है. |
kState_ConnectionEstablished
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल कनेक्शन चालू है और रास्ते की जानकारी शेयर की जा रही है. |
kState_NotConnected
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल कनेक्ट नहीं है. |
kState_ReconnectRecvd
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि सेवा चाहती है कि डायरेक्ट्री लुकअप के बाद, बॉर्डर गेटवे को फिर से कनेक्ट किया जाए. |
kState_TunnelClosing
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल बंद हो रही है और कनेक्शन को खत्म किया जा रहा है. |
kState_TunnelOpen
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि वीव टनल खुली है और डेटा ट्रैफ़िक ट्रांज़िट के लिए तैयार है. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
सार्वजनिक एट्रिब्यूट
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
सार्वजनिक फ़ंक्शन
शुरू करें
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
WeaveTunnelConnectionMgr को शुरू करें.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
सर्विस टनल बंद करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
टनल कनेक्शन के लिए InterfaceName सेट करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
टनल कनेक्शन के लिए, SrcInterfaceType सेट करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
सर्विस टनल कनेक्शन बंद करें और फिर से कनेक्ट करने की कोशिश करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
सेवा से कनेक्ट करने की कोशिश करें.
ServiceManager का इस्तेमाल करके या सीधे तौर पर, सेवा से कनेक्ट करने की कोशिश करें.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
सार्वजनिक स्टैटिक फ़ंक्शन
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
अगली बार सेवा से कनेक्ट करने के लिए, नीति को लागू करने का डिफ़ॉल्ट तरीका.
यह नीति, बढ़ती हुई विंडो पर रैंडम टाइमस्लॉट (मिलीसेकंड रिज़ॉल्यूशन के साथ) चुनता है और इसके बाद WEAVE_CONFIG_RATEING_RECONNECT_MAX_FIBONACCI_INDEX तक फ़ाइबोनाशी क्रम को लागू करता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
सेवा टीसीपी कनेक्शन बंद होने पर, हैंडलर का इस्तेमाल किया गया.
अगर mServiceConKeepAlive को 'सही है' पर सेट किया जाता है, तो डिवाइस, सेवा से दोबारा कनेक्ट करने की कोशिश करता है.
बाद में डिवाइस, सेवा के साथ फिर से कनेक्ट करने की कोशिश करता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
सेवा टीसीपी कनेक्शन पूरा होने पर हैंडलर शुरू किया गया.
डिवाइस, इस फ़ंक्शन से सेवा को टनल कंट्रोल निर्देश देना शुरू करता है.
डिवाइस, इस फ़ंक्शन से सेवा को टनल कंट्रोल निर्देश देना शुरू करता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
हैंडलर, सेवा टीसीपी कनेक्शन से टनल किए गए आईपीवी6 पैकेट पाने और टनल हेडर के अंदर से रॉ आईपीवी6 पैकेट हटाने के बाद, टनल एंडपॉइंट इंटरफ़ेस पर आगे भेजने की सुविधा देता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
अगर सर्विस मैनेजर, सेवा के साथ टीसीपी कनेक्शन को स्थापित नहीं कर पाता है, तो हैंडलर को हैंडलर ट्रिगर किया गया.