nl:: বুনা:: প্রোফাইল:: WeaveTunnel :: WeaveTunnelConnectionMgr

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

এই ক্লাসটি সমস্ত ওয়েভ টানেল সংযোগের অবস্থা এবং সংশ্লিষ্ট ব্যবস্থাপনা যুক্তি এবং ফাংশনগুলিকে অন্তর্ভুক্ত করে।

সারাংশ

এই ক্লাসের একটি উদাহরণ প্রতিটি ইন্টারফেসের উপর টানেল পরিচালনা করতে ব্যবহার করা হবে যার মাধ্যমে পরিষেবাতে বুনা টানেল বিদ্যমান থাকবে।

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

WeaveTunnelConnectionMgr (void)

পাবলিক প্রকার

ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) typedef
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 typedef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
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
টানেল সংযোগের জন্য ইন্টারফেস নাম সেট করুন।
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
পরিষেবা TCP সংযোগ সম্পূর্ণ হলে হ্যান্ডলার আহ্বান করা হয়।
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
void
হ্যান্ডলার পরিষেবা TCP সংযোগ থেকে টানেলযুক্ত IPv6 প্যাকেটগুলি গ্রহণ করে এবং টানেল হেডারের ভিতরে থেকে কাঁচা IPv6 প্যাকেটটি ডিক্যাপসুলেট করার পরে টানেল এন্ডপয়েন্ট ইন্টারফেসে ফরওয়ার্ড করে।
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report)
void
পরিষেবা ব্যবস্থাপক পরিষেবার সাথে TCP সংযোগ স্থাপন করতে ব্যর্থ হলে হ্যান্ডলারকে অনুরোধ করা হয়েছিল৷

পাবলিক প্রকার

ConnectPolicyCallback

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

পরবর্তী টানেল পুনরায় সংযোগ করার আগে অপেক্ষা করার জন্য সময়ের ব্যবধান আনতে কলব্যাক করুন।

বিস্তারিত
পরামিতি
[in] appState
সাবস্ক্রিপশন ক্লায়েন্ট শুরু করার সময় অ্যাপ স্টেট পয়েন্টার সেট করা হয়েছে।
[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
বৈশিষ্ট্য
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 পাস হয়েছে৷

SetInterfaceName

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 পাস হয়েছে৷

ConnectingNow চেষ্টা করুন

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
পরবর্তী পুনঃসংযোগ প্রচেষ্টার আগে অপেক্ষা করতে মিলিসেকেন্ডে সময়।

হ্যান্ডেল সার্ভিস সংযোগ বন্ধ

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

পরিষেবা টিসিপি সংযোগ বন্ধ হলে হ্যান্ডলারকে আহ্বান করা হয়।

mServiceConKeepAlive সত্যে সেট করা থাকলে ডিভাইসটি পরিষেবার সাথে সংযোগটি পুনরায় স্থাপন করার চেষ্টা করে৷

ডিভাইসটি, পরবর্তীকালে, পরিষেবার সাথে সংযোগটি পুনরায় স্থাপন করার চেষ্টা করে।

বিস্তারিত
পরামিতি
[in] con
WeaveConnection অবজেক্টের একটি পয়েন্টার।
[in] conErr
WeaveConnection বা WEAVE_NO_ERROR-এর মধ্যে কোনো ত্রুটি।

হ্যান্ডেল সার্ভিস কানেকশন সম্পূর্ণ

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

পরিষেবা TCP সংযোগ সম্পূর্ণ হলে হ্যান্ডলার আহ্বান করা হয়।

ডিভাইসটি এই ফাংশন থেকে পরিষেবাতে টানেল কন্ট্রোল কমান্ডগুলি শুরু করতে এগিয়ে যায়।

ডিভাইসটি এই ফাংশন থেকে পরিষেবাতে টানেল কন্ট্রোল কমান্ডগুলি শুরু করতে এগিয়ে যায়।

বিস্তারিত
পরামিতি
[in] con
WeaveConnection অবজেক্টের একটি পয়েন্টার।
[in] conErr
WeaveConnection বা WEAVE_NO_ERROR-এর মধ্যে কোনো ত্রুটি।

RecvdFromService

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

হ্যান্ডলার পরিষেবা TCP সংযোগ থেকে টানেলযুক্ত IPv6 প্যাকেটগুলি গ্রহণ করে এবং টানেল হেডারের ভিতরে থেকে কাঁচা IPv6 প্যাকেটটি ডিক্যাপসুলেট করার পরে টানেল এন্ডপয়েন্ট ইন্টারফেসে ফরওয়ার্ড করে।

বিস্তারিত
পরামিতি
[in] con
WeaveConnection অবজেক্টের একটি পয়েন্টার।
[in] msgInfo
WeaveMessageInfo অবজেক্টের একটি পয়েন্টার।
[in] message
টানেলযুক্ত IPv6 প্যাকেট ধারণ করে প্যাকেটবাফার অবজেক্টের একটি পয়েন্টার।

ServiceMgrStatusHandler

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

পরিষেবা ব্যবস্থাপক পরিষেবার সাথে TCP সংযোগ স্থাপন করতে ব্যর্থ হলে হ্যান্ডলারকে অনুরোধ করা হয়েছিল৷