nl:: बुनें:: प्रोफाइल:: बुनाई सुरंग :: वीव टनलएजेंट

सारांश

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

WeaveTunnelAgent (void)

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

AgentState {
kState_NotInitialized = 0,
kState_Initialized_NoTunnel = 1,
kState_PrimaryTunModeEstablished = 2,
kState_BkupOnlyTunModeEstablished = 3,
kState_PrimaryAndBkupTunModeEstablished = 4
}
एन्यूम
सेवा के संबंध में सुरंग एजेंट के राज्य।
AgentState टाइपडीफ
सेवा के संबंध में सुरंग एजेंट के राज्य।
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) टाइपडीफ
void(*
सेवा से एक टनल रीकनेक्ट प्राप्त होने पर एक उच्च परत द्वारा सेट हैंडलर के लिए फ़ंक्शन पॉइंटर।
OnServiceTunnelStatusNotifyFunct )(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) टाइपडीफ
void(*
सेवा के लिए सुरंग से संबंधित विभिन्न सूचनाओं पर कार्य करने के लिए एक उच्च परत द्वारा निर्धारित हैंडलर के लिए फ़ंक्शन पॉइंटर।
PlatformNetworkOnlineCheck )(TunnelType tunType, void *appCtxt) टाइपडीफ
void(*
नेटवर्क स्तर की ऑनलाइन जांच करने के लिए एप्लिकेशन द्वारा प्रदान किए गए हैंडलर को फ़ंक्शन पॉइंटर।
WeaveTunnelFlags {
kTunnelFlag_PrimaryEnabled = 0x01,
kTunnelFlag_BackupEnabled = 0x02,
kTunnelFlag_PrimaryRestricted = 0x04,
kTunnelFlag_BackupRestricted = 0x08
}
एन्यूम
टनल फ्लैग बिट्स बुनें।
WeaveTunnelFlags टाइपडीफ
टनल फ्लैग बिट्स बुनें।

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

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
सेवा के लिए सुरंग से संबंधित विभिन्न सूचनाओं पर कार्य करने के लिए एक उच्च परत द्वारा निर्धारित हैंडलर के लिए फ़ंक्शन पॉइंटर।
mServiceMgr
WeaveServiceManager *
सेवा प्रबंधक सूचक को देखने और सेवा से कनेक्ट करने के लिए उपयोग किया जाता है।

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

DisablePrimaryTunnel (void)
void
प्राथमिक सुरंग को अक्षम करें।
EnablePrimaryTunnel (void)
void
प्राथमिक सुरंग सक्षम करें।
GetAgentStateName (const AgentState state)
const char *
WeaveTunnelAgentState नाम प्राप्त करें।
GetTimeMsec (void)
uint64_t
मिलीसेकंड में सिस्टम समय प्राप्त करें।
GetWeaveTunnelAgentState (void)
टनलएजेंट स्थिति प्राप्त करें।
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
टनल एजेंट को इनिशियलाइज़ करें।
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
टनल एजेंट को इनिशियलाइज़ करें।
IsPrimaryTunnelEnabled (void) const
bool
जांचें कि क्या प्राथमिक सुरंग सक्षम है।
IsPrimaryTunnelRoutingRestricted (void)
bool
जांचें कि क्या प्राथमिक सुरंग सेवा द्वारा रूटिंग प्रतिबंधों के अधीन है।
IsTunnelRoutingRestricted (void)
bool
जांचें कि सुरंग सेवा द्वारा रूटिंग प्रतिबंधों के अधीन है या नहीं।
NetworkOnlineCheckResult (TunnelType tunType, bool isOnline)
void
नेटवर्क ऑनलाइन चेकर का परिणाम उपलब्ध होने पर प्लेटफॉर्म द्वारा कॉलबैक का आह्वान किया जाता है।
ResetPrimaryReconnectBackoff (bool reconnectImmediately)
प्राथमिक सुरंग के लिए पुन: कनेक्ट करने का समय रीसेट करें।
SetAuthMode (const WeaveAuthMode authMode)
void
सुरंग के लिए WeaveAuthMode सेट करें।
SetDestination (const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
सुरंग के लिए गंतव्य नोड आईडी, आईपीएड्रेस और पोर्ट सेट करें।
SetTunnelingDeviceRole (const Role role)
void
टनल के लिए टनलिंग डिवाइस रोल (बॉर्डरगेटवे, स्टैंडअलोन डिवाइस, मोबाइलडिवाइस) सेट करें।
Shutdown (void)
टनल एजेंट को बंद करें।
StartServiceTunnel (void)
सेवा सुरंग प्रारंभ करें।
StartServiceTunnel (uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
सेवा सुरंग प्रारंभ करें।
StopServiceTunnel (void)
void
सेवा के लिए सुरंग कनेक्शन बंद करें।
StopServiceTunnel ( WEAVE_ERROR err)
void
सेवा के लिए सुरंग कनेक्शन बंद करें।

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

RecvdFromShortcutUDPTunnel ( WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
हैंडलर को बॉर्डर गेटवे और मोबाइल डिवाइस के बीच शॉर्टकट UDP टनल पर टनल किए गए IPv6 पैकेट प्राप्त करने के लिए और टनल हेडर के अंदर से कच्चे IPv6 पैकेट को डीकैप्सुलेट करने के बाद टनल एंडपॉइंट इंटरफ़ेस को अग्रेषित करना।
RecvdFromTunnelEndPoint ( TunEndPoint *tunEP, PacketBuffer *message)
void
टनल एंडपॉइंट इंटरफ़ेस से IPv6 पैकेट प्राप्त करने के लिए हैंडलर और सुरंग हेडर के अंदर IPv6 पैकेट को इनकैप्सुलेट करने के बाद या एक शॉर्टकट टनल पर मोबाइल क्लाइंट को सर्विस टीसीपी कनेक्शन के माध्यम से सेवा के लिए आगे।

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

एजेंटस्टेट

 AgentState

सेवा के संबंध में सुरंग एजेंट के राज्य।

गुण
kState_BkupOnlyTunModeEstablished

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

kState_Initialized_NoTunnel

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

kState_NotInitialized

यह इंगित करने के लिए प्रयुक्त होता है कि सुरंग एजेंट प्रारंभ नहीं हुआ है।

kState_PrimaryAndBkupTunModeEstablished

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

kState_PrimaryTunModeEstablished

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

एजेंटस्टेट

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

सेवा के संबंध में सुरंग एजेंट के राज्य।

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

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

विवरण
मापदंडों
[in] tunType
सुरंग प्रकार, प्राथमिक या बैकअप।
[in] reconnectHost
सेवा द्वारा फिर से कनेक्ट करने के लिए प्रदान किया गया होस्टनाम।
[in] reconnectPort
फिर से कनेक्ट करने के लिए सेवा द्वारा प्रदान किया गया गंतव्य पोर्ट।
[in] appCtxt
अनुप्रयोग संदर्भ वस्तु के लिए एक सूचक

OnServiceTunnelStatusNotifyFunt

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

सेवा के लिए सुरंग से संबंधित विभिन्न सूचनाओं पर कार्य करने के लिए एक उच्च परत द्वारा निर्धारित हैंडलर के लिए फ़ंक्शन पॉइंटर।

विवरण
मापदंडों
[in] reason
आवेदन के लिए स्थिति अधिसूचना का कारण।
[in] err
बुन त्रुटि का सामना करना पड़ा, यदि कोई हो
[in] appCtxt
अनुप्रयोग संदर्भ वस्तु के लिए एक सूचक

प्लेटफ़ॉर्मनेटवर्कऑनलाइन चेक

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

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

विवरण
मापदंडों
[in] tunType
सुरंग प्रकार, प्राथमिक या बैकअप।
[in] appCtxt
अनुप्रयोग संदर्भ वस्तु के लिए एक सूचक

वीव टनलफ्लैग्स

 WeaveTunnelFlags

टनल फ्लैग बिट्स बुनें।

गुण
kTunnelFlag_BackupEnabled

बैकअप सुरंग सक्षम होने पर सेट करें।

kTunnelFlag_BackupRestricted

सेट करें जब बैकअप टनल रूटिंग प्रतिबंधित हो।

kTunnelFlag_PrimaryEnabled

प्राथमिक सुरंग सक्षम होने पर सेट करें।

kTunnelFlag_PrimaryRestricted

सेट करें जब प्राथमिक सुरंग रूटिंग प्रतिबंधित हो।

वीव टनलफ्लैग्स

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

टनल फ्लैग बिट्स बुनें।

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

नेटवर्कऑनलाइन चेक

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusसूचित करें

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

सेवा के लिए सुरंग से संबंधित विभिन्न सूचनाओं पर कार्य करने के लिए एक उच्च परत द्वारा निर्धारित हैंडलर के लिए फ़ंक्शन पॉइंटर।

mServiceMgr

WeaveServiceManager * mServiceMgr

सेवा प्रबंधक सूचक को देखने और सेवा से कनेक्ट करने के लिए उपयोग किया जाता है।

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

प्राथमिक सुरंग अक्षम करें

void DisablePrimaryTunnel(
  void
)

प्राथमिक सुरंग को अक्षम करें।

प्राथमिक सुरंग को अक्षम करें।

प्राथमिक सुरंग सक्षम करें

void EnablePrimaryTunnel(
  void
)

प्राथमिक सुरंग सक्षम करें।

प्राथमिक सुरंग को सक्षम करें।

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

WeaveTunnelAgentState नाम प्राप्त करें।

गेटटाइमएमएसईसी

uint64_t GetTimeMsec(
  void
)

मिलीसेकंड में सिस्टम समय प्राप्त करें।

सिस्टम समय उपलब्ध नहीं होने पर मिलीसेकंड में सिस्टम समय या मोनोटोनिक समय प्राप्त करें।

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

टनलएजेंट स्थिति प्राप्त करें।

विवरण
रिटर्न
की वर्तमान स्थिति AgentState WeaveTunnelAgent

में इस

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

टनल एजेंट को इनिशियलाइज़ करें।

इस ते सुरंग endpoint वस्तु बनाता है, सुरंग इंटरफ़ेस सेट, सदस्य चर, कॉलबैक और initializes WeaveTunnelControl

में इस

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

टनल एजेंट को इनिशियलाइज़ करें।

इस ते सुरंग endpoint वस्तु बनाता है, सुरंग इंटरफ़ेस सेट, सदस्य चर, कॉलबैक और initializes WeaveTunnelControl

प्राथमिक सुरंग सक्षम है

bool IsPrimaryTunnelEnabled(
  void
) const 

जांचें कि क्या प्राथमिक सुरंग सक्षम है।

विवरण
रिटर्न
सच है अगर यह सक्षम है, अन्यथा झूठा।

IsPrimaryTunnelRoutingप्रतिबंधित

bool IsPrimaryTunnelRoutingRestricted(
  void
)

जांचें कि क्या प्राथमिक सुरंग सेवा द्वारा रूटिंग प्रतिबंधों के अधीन है।

जांचें कि प्राथमिक सुरंग रूटिंग प्रतिबंधों के अधीन है या नहीं।

विवरण
रिटर्न
सच है अगर प्राथमिक सुरंग स्थापित है लेकिन सेवा द्वारा रूटिंग प्रतिबंधों के अधीन है।

क्या टनल रूटिंग प्रतिबंधित है

bool IsTunnelRoutingRestricted(
  void
)

जांचें कि सुरंग सेवा द्वारा रूटिंग प्रतिबंधों के अधीन है या नहीं।

जांचें कि सुरंग रूटिंग प्रतिबंधों के अधीन है या नहीं।

विवरण
रिटर्न
सच है अगर या तो प्राथमिक या बैकअप सुरंग स्थापित है, और या तो सेवा द्वारा रूटिंग प्रतिबंधों के अधीन हैं।

नेटवर्कऑनलाइनचेकपरिणाम

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

नेटवर्क ऑनलाइन चेकर का परिणाम उपलब्ध होने पर प्लेटफॉर्म द्वारा कॉलबैक का आह्वान किया जाता है।

विवरण
मापदंडों
[in] tunType
इंटरफ़ेस के अनुरूप सुरंग प्रकार जिस पर नेटवर्क कनेक्टिविटी जांच की जाती है।
[in] isOnline
यदि नेटवर्क ऑनलाइन है तो सही है, अन्यथा गलत है।

रीसेट करेंप्राथमिकरीकनेक्टबैकऑफ

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

प्राथमिक सुरंग के लिए पुन: कनेक्ट करने का समय रीसेट करें।

विवरण
मापदंडों
[in] reconnectImmediately
सही है अगर तुरंत पुन: कनेक्ट करने की आवश्यकता है, अन्यथा कॉन्फ़िगर किए गए पुन: कनेक्ट टाइमआउट का उपयोग करके।

ऑथमोड सेट करें

void SetAuthMode(
  const WeaveAuthMode authMode
)

सुरंग के लिए WeaveAuthMode सेट करें।

विवरण
मापदंडों
[in] authMode
पीयर के साथ उपयोग किया जाने वाला वेव ऑथेंटिकेशन मोड।

गंतव्य तय करें

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

सुरंग के लिए गंतव्य नोड आईडी, आईपीएड्रेस और पोर्ट सेट करें।

सुरंग के लिए गंतव्य नोड आईडी और आईपीएड्रेस सेट करें।

विवरण
मापदंडों
[in] nodeId
गंतव्य नोड की नोड आईडी।
[in] ipAddr
गंतव्य नोड का आईपी पता।
[in] servicePort
गंतव्य नोड का पोर्ट।

सेट टनलिंगडिवाइसभूमिका

void SetTunnelingDeviceRole(
  const Role role
)

टनल के लिए टनलिंग डिवाइस रोल (बॉर्डरगेटवे, स्टैंडअलोन डिवाइस, मोबाइलडिवाइस) सेट करें।

सुरंग के लिए टनलिंग डिवाइस भूमिका (बॉर्डरगेटवे बनाम स्टैंडअलोन) सेट करें।

विवरण
मापदंडों
[in] role
टनल एजेंट द्वारा ग्रहण की गई भूमिका; बॉर्डर गेटवे, स्टैंडअलोन या मोबाइल डिवाइस।

शट डाउन

WEAVE_ERROR Shutdown(
  void
)

टनल एजेंट को बंद करें।

यह सेवा से कनेक्शन को तोड़ देता है और टनल इंटरफ़ेस से जुड़े पतों और मार्गों को हटाने के बाद TunEndPoint इंटरफ़ेस को बंद कर देता है।

यह सेवा से कनेक्शन को तोड़ देता है और टनल इंटरफ़ेस से जुड़े पतों और मार्गों को हटाने के बाद TunEndPoint इंटरफ़ेस को बंद कर देता है।

विवरण
रिटर्न
सफलता पर WEAVE_NO_ERROR, अन्यथा संबंधित WEAVE_ERROR प्रकार।

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

सेवा सुरंग प्रारंभ करें।

यह सुरंग को सक्षम बनाता है और सेवा से संबंध स्थापित करने का प्रयास करता है।

यह सेवा के लिए एक कनेक्शन स्थापित करने का प्रयास करता है और फैब्रिक रूट को टनल इंटरफेस में भी सेट करता है।

विवरण
रिटर्न
सफलता पर WEAVE_NO_ERROR, अन्यथा संबंधित WEAVE_ERROR प्रकार।

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

सेवा सुरंग प्रारंभ करें।

यह सुरंग को सक्षम बनाता है और सेवा से संबंध स्थापित करने का प्रयास करता है।

स्टॉप सर्विस टनल

void StopServiceTunnel(
  void
)

सेवा के लिए सुरंग कनेक्शन बंद करें।

स्टॉप सर्विस टनल

void StopServiceTunnel(
  WEAVE_ERROR err
)

सेवा के लिए सुरंग कनेक्शन बंद करें।

विवरण
मापदंडों
[in] err
WEAVE_NO_ERROR यदि इस StopServiceTunnel अनुरोध का कोई विशेष कारण नहीं है, अन्यथा त्रुटि का कारण नीचे दिया जाएगा।

वीव टनलएजेंट

 WeaveTunnelAgent(
  void
)

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

रिकवीडीफ्रॉमशॉर्टकटयूडीपीटीसुरंग

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

हैंडलर को बॉर्डर गेटवे और मोबाइल डिवाइस के बीच शॉर्टकट UDP टनल पर टनल किए गए IPv6 पैकेट प्राप्त करने के लिए और टनल हेडर के अंदर से कच्चे IPv6 पैकेट को डीकैप्सुलेट करने के बाद टनल एंडपॉइंट इंटरफ़ेस को अग्रेषित करने के लिए।

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

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

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

टनल एंडपॉइंट इंटरफ़ेस से IPv6 पैकेट प्राप्त करने के लिए हैंडलर और सुरंग हेडर के अंदर IPv6 पैकेट को इनकैप्सुलेट करने के बाद या एक शॉर्टकट टनल पर मोबाइल क्लाइंट को सर्विस टीसीपी कनेक्शन के माध्यम से सेवा के लिए आगे।

टनल एंडपॉइंट इंटरफ़ेस से IPv6 पैकेट प्राप्त करने के लिए हैंडलर और टनल हेडर के अंदर IPv6 पैकेट को एनकैप्सुलेट करने के बाद सर्विस टीसीपी कनेक्शन के माध्यम से सर्विस को या स्थानीय टनल पर मोबाइल क्लाइंट को फॉरवर्ड करें।

यदि सेवा कनेक्शन अभी तक नहीं है, तो कनेक्शन सेट होने तक संदेश कतारबद्ध है। मोबाइल क्लाइंट डिवाइस के लिए टनलिंग के लिए, नेक्स्टहॉप पड़ोसी तालिका को संदर्भित किया जाता है।

यदि सेवा कनेक्शन अभी तक नहीं है, तो कनेक्शन सेट होने तक संदेश कतारबद्ध है। मोबाइल क्लाइंट डिवाइस के लिए टनलिंग के लिए, नेक्स्टहॉप पड़ोसी तालिका को संदर्भित किया जाता है।

विवरण
मापदंडों
[in] tunEP
TunEndPoint ऑब्जेक्ट के लिए एक सूचक।
[in] message
कच्चे IPv6 पैकेट को पकड़े हुए PacketBuffer ऑब्जेक्ट का सूचक।