nl:: Inet:: ইন্টারফেস ইটারেটর

#include <src/inet/InetInterface.h>

সিস্টেম নেটওয়ার্ক ইন্টারফেসের তালিকার জন্য পুনরাবৃত্তিকারী।

সারাংশ

সিস্টেম নেটওয়ার্ক ইন্টারফেসের তালিকা পুনরাবৃত্তি করতে এই শ্রেণীর বস্তু ব্যবহার করুন।

এই শ্রেণীর একটি পৃথক উদাহরণের পদ্ধতিগুলি থ্রেড-নিরাপদ নয় ; তবে পৃথক দৃষ্টান্ত একাধিক থ্রেড দ্বারা একযোগে ব্যবহার করা যেতে পারে।

মাল্টি-থ্রেডেড LwIP সিস্টেমে, গ্লোবাল এলডব্লিউআইপি স্টেটে অ্যাক্সেস করা অন্যান্য থ্রেডের তুলনায় দৃষ্টান্তগুলি থ্রেড-নিরাপদ, তবে শর্ত থাকে যে অন্যান্য থ্রেডগুলি নেটিফগুলির তালিকা পরিবর্তন করার সময় LwIP কোর লক ধরে রাখে এবং সেই নেটিফ অবজেক্টটি কখনই ধ্বংস হয় না।

সকেট-ভিত্তিক সিস্টেমে, অন্তর্নিহিত সিস্টেমের ইন্টারফেসে পরিবর্তনের মুখে পুনরাবৃত্তি সবসময় স্থিতিশীল থাকে।

LwIP সিস্টেমে, পুনরুক্তি স্থিতিশীল হয় শুধুমাত্র সেই ক্ষেত্রে যেখানে বর্তমানে নির্বাচিত ইন্টারফেস তালিকা থেকে সরানো হয়, যে ক্ষেত্রে পুনরাবৃত্তি অবিলম্বে শেষ হয়।

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

InterfaceIterator (void)
একটি InterfaceIterator অবজেক্ট গঠন করে।
~InterfaceIterator (void)
একটি InterfaceIterator অবজেক্ট ধ্বংস করে।

সুরক্ষিত বৈশিষ্ট্য

mCurIntf
size_t
mCurNetif
struct netif *
mIntfArray
struct if_nameindex *
mIntfFlags
short
mIntfFlagsCached
bool

পাবলিক ফাংশন

GetInterface (void)
InterfaceId
GetInterfaceId(void) এর জন্য অবচিত উপনাম
GetInterfaceId (void)
InterfaceId
বর্তমান পুনরাবৃত্তিকারী অবস্থানে নেটওয়ার্ক ইন্টারফেস আইডি প্রদান করে।
GetInterfaceName (char *nameBuf, size_t nameBufSize)
বর্তমান নেটওয়ার্ক ইন্টারফেসের নাম পান।
HasBroadcastAddress (void)
bool
বর্তমান নেটওয়ার্ক ইন্টারফেসের একটি সম্প্রচার ঠিকানা আছে কিনা তা প্রদান করে।
HasCurrent (void)
bool
পুনরাবৃত্তিকারী একটি ইন্টারফেসে অবস্থিত কিনা পরীক্ষা করুন।
IsUp (void)
bool
বর্তমান নেটওয়ার্ক ইন্টারফেস আপ আছে কিনা তা প্রদান করে।
Next (void)
bool
পরবর্তী নেটওয়ার্ক ইন্টারফেসে পুনরাবৃত্তিকারীকে অগ্রসর করুন।
SupportsMulticast (void)
bool
বর্তমান নেটওয়ার্ক ইন্টারফেস মাল্টিকাস্ট সমর্থন করে কিনা তা প্রদান করে।

সুরক্ষিত ফাংশন

GetFlags (void)
short
বর্তমান ইন্টারফেসের জন্য ifr_flags মান প্রদান করে।

সুরক্ষিত বৈশিষ্ট্য

mCurIntf

size_t mCurIntf

mCurNetif

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlagsCached

bool mIntfFlagsCached

পাবলিক ফাংশন

GetInterface

InterfaceId GetInterface(
  void
)

GetInterfaceId(void) এর জন্য অবচিত উপনাম

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

বর্তমান পুনরাবৃত্তিকারী অবস্থানে নেটওয়ার্ক ইন্টারফেস আইডি প্রদান করে।

বিস্তারিত
রিটার্ন মান
INET_NULL_INTERFACEID
যদি তালিকার শেষের বাইরে অগ্রসর হয়।
id
বর্তমান নেটওয়ার্ক ইন্টারফেস আইডি।

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

বর্তমান নেটওয়ার্ক ইন্টারফেসের নাম পান।

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

বিস্তারিত
পরামিতি
[in] nameBuf
ইন্টারফেসের নাম লিখতে মেমরির অঞ্চল
[in] nameBufSize
nameBuf দ্বারা চিহ্নিত অঞ্চলের আকার
রিটার্ন মান
INET_NO_ERROR
সফল ফলাফল, ইন্টারফেসের নাম লেখা
INET_ERROR_INCORRECT_STATE
পুনরাবৃত্তিকারী তালিকার শেষের বাইরে অবস্থান করা হয়
INET_ERROR_NO_MEMORY
নামটি বাফারে লেখার জন্য খুব বড়
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

সম্প্রচার ঠিকানা

bool HasBroadcastAddress(
  void
)

বর্তমান নেটওয়ার্ক ইন্টারফেসের একটি সম্প্রচার ঠিকানা আছে কিনা তা প্রদান করে।

বিস্তারিত
রিটার্নস
বর্তমান নেটওয়ার্ক ইন্টারফেসের সম্প্রচার ঠিকানা থাকলে true , না থাকলে false , অথবা যদি তালিকার শেষের বাইরে ইটারেটর থাকে।

হ্যাসকারেন্ট

bool HasCurrent(
  void
)

পুনরাবৃত্তিকারী একটি ইন্টারফেসে অবস্থিত কিনা পরীক্ষা করুন।

পুনরাবৃত্তিকারী একটি ইন্টারফেস ঠিকানায় অবস্থান করা হয়েছে কিনা তা পরীক্ষা করুন।

বিস্তারিত
রিটার্নস
ইটারেটর একটি ইন্টারফেসে অবস্থান করা হলে true ; ইন্টারফেস তালিকার শেষের বাইরে অবস্থান করলে false
রিটার্নস
true যদি পুনরাবৃত্তিকারী একটি ইন্টারফেস ঠিকানায় অবস্থান করা হয়; ঠিকানা তালিকার শেষের বাইরে অবস্থান করলে false

ইন্টারফেস ইটারেটর

 InterfaceIterator(
  void
)

একটি InterfaceIterator অবজেক্ট গঠন করে।

প্রথম নেটওয়ার্ক ইন্টারফেসে পুনরাবৃত্তিকারী শুরু করে। কিছু প্ল্যাটফর্মে, এই কনস্ট্রাক্টর ধ্বংসকারী দ্বারা পুনর্ব্যবহৃত সম্পদ বরাদ্দ করতে পারে।

IsUp

bool IsUp(
  void
)

বর্তমান নেটওয়ার্ক ইন্টারফেস আপ আছে কিনা তা প্রদান করে।

বিস্তারিত
রিটার্নস
বর্তমান নেটওয়ার্ক ইন্টারফেস আপ থাকলে true , না থাকলে false বা ইটারেটর তালিকার শেষের বাইরে অবস্থান করলে।

পরবর্তী

bool Next(
  void
)

পরবর্তী নেটওয়ার্ক ইন্টারফেসে পুনরাবৃত্তিকারীকে অগ্রসর করুন।

Advances the internal iterator to the next network interface or to a position
beyond the end of the interface list.

On multi-threaded LwIP systems, this method is thread-safe relative to other
threads accessing the global LwIP state provided that: 1) the other threads
hold the LwIP core lock while mutating the list of netifs; and 2) netif objects
themselves are never destroyed.

Iteration is stable in the face of changes to the underlying system's
interfaces, *except* in the case of LwIP systems when the currently selected
interface is removed from the list, which causes iteration to end immediately.

বিস্তারিত
রিটার্নস
false যদি শেষের বাইরে অগ্রসর হয়, অন্যথায় true

মাল্টিকাস্ট সমর্থন করে

bool SupportsMulticast(
  void
)

বর্তমান নেটওয়ার্ক ইন্টারফেস মাল্টিকাস্ট সমর্থন করে কিনা তা প্রদান করে।

বিস্তারিত
রিটার্নস
বর্তমান নেটওয়ার্ক ইন্টারফেস মাল্টিকাস্ট সমর্থন করলে true , না হলে false , অথবা যদি ইটারেটর তালিকার শেষের বাইরে অবস্থান করে।

~ ইন্টারফেস ইটারেটর

 ~InterfaceIterator(
  void
)

একটি InterfaceIterator অবজেক্ট ধ্বংস করে।

কনস্ট্রাক্টর দ্বারা বরাদ্দ করা কোনো সম্পদ পুনর্ব্যবহার করে।

সুরক্ষিত ফাংশন

GetFlags

short GetFlags(
  void
)

বর্তমান ইন্টারফেসের জন্য ifr_flags মান প্রদান করে।