nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent

खास जानकारी

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

WeaveTunnelAgent(void)

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

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

सार्वजनिक एट्रिब्यूट

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
टनल के लिए, डेस्टिनेशन nodeId, IPAddress, और पोर्ट सेट करें.
SetTunnelingDeviceRole(const Role role)
void
टनल के लिए टनलिंग डिवाइस की भूमिका(BorderGateway, StandaloneDevice, MobileDevice) सेट करें.
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
हैंडलर, बॉर्डर गेटवे और मोबाइल डिवाइस के बीच शॉर्टकट यूडीपी टनल पर टनल किए गए आईपीवी6 पैकेट पाने के लिए है. साथ ही, टनल हेडर के अंदर से रॉ आईपीवी6 पैकेट को डीकैप्स करने के बाद, टनल एंडपॉइंट इंटरफ़ेस पर फ़ॉरवर्ड करने के लिए भी है.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
टनल एंडपॉइंट इंटरफ़ेस से आईपीवी6 पैकेट पाने और उसे टनल हेडर में आईपीवी6 पैकेट एन्क्रिप्ट करने के बाद सेवा टीसीपी कनेक्शन के ज़रिए सेवा पर या किसी शॉर्टकट टनल पर मोबाइल क्लाइंट को फ़ॉरवर्ड करने के लिए हैंडलर.

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

AgentState

 AgentState

टनल एजेंट की स्थिति, सेवा से कनेक्ट करने के संबंध में है.

प्रॉपर्टी
kState_BkupOnlyTunModeEstablished

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

kState_Initialized_NoTunnel

इसका इस्तेमाल यह बताने के लिए किया जाता है कि टनल एजेंट चालू कर दिया गया है, लेकिन कोई टनल नहीं बनाया गया है.

kState_NotInitialized

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

kState_PrimaryAndBkupTunModeEstablished

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

kState_PrimaryTunModeEstablished

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

AgentState

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
ऐप्लिकेशन के कॉन्टेक्स्ट ऑब्जेक्ट का पॉइंटर

OnServiceTunnelStatusNotifyFunct

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

टनल से जुड़ी अलग-अलग सूचनाओं पर कार्रवाई करने के लिए, सेवा के इस्तेमाल से जुड़ी अलग-अलग सूचनाओं पर कार्रवाई करने के लिए ऊपरी लेयर से सेट किया गया फ़ंक्शन पॉइंटर.

जानकारी
पैरामीटर
[in] reason
आवेदन को स्थिति के बारे में सूचना देने की वजह.
[in] err
अगर कोई वेब गड़बड़ी हुई है, तो
[in] appCtxt
ऐप्लिकेशन के कॉन्टेक्स्ट ऑब्जेक्ट का पॉइंटर

PlatformNetworkOnlineCheck

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

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

जानकारी
पैरामीटर
[in] tunType
टनल का टाइप, प्राइमरी या बैकअप.
[in] appCtxt
ऐप्लिकेशन के कॉन्टेक्स्ट ऑब्जेक्ट का पॉइंटर

WeaveTunnelFlags

 WeaveTunnelFlags

Weave Tunnel फ़्लैग बिट.

प्रॉपर्टी
kTunnelFlag_BackupEnabled

बैकअप टनल चालू होने पर सेट करें.

kTunnelFlag_BackupRestricted

बैकअप टनल के रूट होने पर पाबंदी लगने पर सेट करें.

kTunnelFlag_PrimaryEnabled

मुख्य टनल चालू होने पर सेट करें.

kTunnelFlag_PrimaryRestricted

मुख्य टनल के रूट पर पाबंदी होने पर सेट करें.

WeaveTunnelFlags

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

Weave Tunnel फ़्लैग बिट.

सार्वजनिक एट्रिब्यूट

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

टनल से जुड़ी अलग-अलग सूचनाओं पर कार्रवाई करने के लिए, सेवा के इस्तेमाल से जुड़ी अलग-अलग सूचनाओं पर कार्रवाई करने के लिए ऊपरी लेयर से सेट किया गया फ़ंक्शन पॉइंटर.

mServiceMgr

WeaveServiceManager * mServiceMgr

सर्विस मैनेजर पॉइंटर का इस्तेमाल, उसे खोजने और सेवा से कनेक्ट करने के लिए किया जाता है.

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

DisablePrimaryTunnel

void DisablePrimaryTunnel(
  void
)

प्राइमरी टनल बंद करें.

प्राइमरी टनल बंद करें.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

प्राइमरी टनल चालू करें.

प्राइमरी टनल चालू करें.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

WeaveTunnelAgentState नाम पाएं.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

सिस्टम का समय मिलीसेकंड में पाएं.

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

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

टनलएजेंट की स्थिति जानें.

जानकारी
लौटाए गए सामान
WeaveTunnelAgent की मौजूदा स्थिति के बारे में AgentState बताएं.

शुरू करें

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

टनल एजेंट को शुरू करें.

यह te Tunnel एंडपॉइंट ऑब्जेक्ट बनाता है, टनल इंटरफ़ेस को सेट अप करता है. साथ ही, मेंबर वैरिएबल, कॉलबैक, और WeaveTunnelControl को शुरू करता है.

शुरू करें

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

टनल एजेंट को शुरू करें.

यह te Tunnel एंडपॉइंट ऑब्जेक्ट बनाता है, टनल इंटरफ़ेस को सेट अप करता है. साथ ही, मेंबर वैरिएबल, कॉलबैक, और WeaveTunnelControl को शुरू करता है.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

देखें कि प्राइमरी टनल चालू है या नहीं.

जानकारी
लौटाए गए सामान
अगर चालू है, तो 'सही' होगा, नहीं तो गलत.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

देखें कि मुख्य टनल पर, सेवा के ज़रिए रूट करने से जुड़ी पाबंदियां लागू होती हैं या नहीं.

देखें कि मुख्य टनल पर, रूट करने की पाबंदी लागू है या नहीं.

जानकारी
लौटाए गए सामान
अगर मुख्य टनल तय है, लेकिन यह सेवा की रूट से जुड़ी पाबंदियों के दायरे में आती है, तो यह 'सही' होगा.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

देखें कि टनल पर, सेवा के ज़रिए रूट करने से जुड़ी पाबंदियां लागू हैं या नहीं.

देखें कि टनल पर, रूट करने से जुड़ी पाबंदियां लागू होती हैं या नहीं.

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

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

नेटवर्क ऑनलाइन जांच का नतीजा उपलब्ध होने पर, प्लैटफ़ॉर्म से कॉलबैक शुरू किया गया.

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

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

मुख्य टनल के लिए, फिर से कनेक्ट करने का समय रीसेट करें.

जानकारी
पैरामीटर
[in] reconnectImmediately
तुरंत फिर से कनेक्ट करने के लिए ज़रूरी होने पर, 'सही' है. इसके अलावा, कॉन्फ़िगर किए गए रिकेनेक्ट टाइम आउट का इस्तेमाल करके भी ऐसा किया जा सकता है.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

टनल के लिए WeaveAuthMode सेट करें.

जानकारी
पैरामीटर
[in] authMode
पीयर के साथ Weave की पुष्टि करने वाले मोड का इस्तेमाल किया गया.

SetDestination

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

टनल के लिए, डेस्टिनेशन nodeId, IPAddress, और पोर्ट सेट करें.

टनल के लिए, डेस्टिनेशन नोडId और IPAddress सेट करें.

जानकारी
पैरामीटर
[in] nodeId
डेस्टिनेशन नोड का नोड आईडी.
[in] ipAddr
डेस्टिनेशन नोड का आईपी पता.
[in] servicePort
डेस्टिनेशन नोड का पोर्ट.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

टनल के लिए टनलिंग डिवाइस की भूमिका(BorderGateway, StandaloneDevice, MobileDevice) सेट करें.

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

जानकारी
पैरामीटर
[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
)

सर्विस टनल शुरू करें.

यह टनल को चालू करता है और सेवा से कनेक्ट करने की कोशिश करता है.

StopServiceTunnel

void StopServiceTunnel(
  void
)

सेवा से टनल कनेक्शन को बंद करें.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

सेवा से टनल कनेक्शन को बंद करें.

जानकारी
पैरामीटर
[in] err
WEAVE_NO_ERROR के बारे में बताया गया है. अगर इस StopServiceTunnel अनुरोध को करने के लिए कोई खास वजह नहीं बताई गई है, तो गड़बड़ी की वजह पता नहीं चल पाएगी.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

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

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

हैंडलर, बॉर्डर गेटवे और मोबाइल डिवाइस के बीच शॉर्टकट यूडीपी टनल पर टनल किए गए आईपीवी6 पैकेट पाने के लिए है. साथ ही, टनल हेडर के अंदर से रॉ आईपीवी6 पैकेट को डीकैप्स करने के बाद, टनल एंडपॉइंट इंटरफ़ेस पर फ़ॉरवर्ड करने के लिए भी है.

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

जानकारी
पैरामीटर
[in] con
WeaveConnection ऑब्जेक्ट के लिए पॉइंटर.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट के लिए पॉइंटर.
[in] message
PinetBuffer ऑब्जेक्ट का पॉइंटर, जिसमें टनल वाला IPv6 पैकेट है.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

टनल एंडपॉइंट इंटरफ़ेस से आईपीवी6 पैकेट पाने और उसे टनल हेडर में आईपीवी6 पैकेट एन्क्रिप्ट करने के बाद सेवा टीसीपी कनेक्शन के ज़रिए सेवा पर या किसी शॉर्टकट टनल पर मोबाइल क्लाइंट को फ़ॉरवर्ड करने के लिए हैंडलर.

टनल एंडपॉइंट इंटरफ़ेस से आईपीवी6 पैकेट पाने और उसे आगे बढ़ाने के लिए, हैंडलर को या तो टनल हेडर में आईपीवी6 पैकेट एन्क्रिप्ट करने के बाद सेवा टीसीपी कनेक्शन के ज़रिए सेवा पर या किसी लोकल टनल पर मोबाइल क्लाइंट को फ़ॉरवर्ड किया जाए.

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

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

जानकारी
पैरामीटर
[in] tunEP
TunEndPoint ऑब्जेक्ट के लिए पॉइंटर.
[in] message
रॉ आईपीवी6 पैकेट पकड़े हुए, पैकेटबफ़र ऑब्जेक्ट का पॉइंटर.