nl:: Inet:: IPendPointBasis

#include <src/inet/IPEndPointBasis.h>

এই শ্রেণীর অবজেক্টগুলি অ-তাত্ক্ষণিক আইপি প্রোটোকল এন্ডপয়েন্ট উপস্থাপন করে।

সারাংশ

উত্তরাধিকার

থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: nl::Inet::EndPointBasis
সরাসরি পরিচিত সাবক্লাস:
  nl::Inet::RawEndPoint
  nl::Inet::UDPEndPoint

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

@8 {
kState_Ready = kBasisState_Closed,
kState_Bound = 1,
kState_Listening = 2,
kState_Closed = 3
}
enum
অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।
@9 {
kSendFlag_RetainBuffer = 0x0040
}
enum
SendMsg পদ্ধতির জন্য ট্রান্সমিট বিকল্প পতাকা।
OnMessageReceivedFunct )(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) typedef
void(*
মেসেজ টেক্সট রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।
OnReceiveErrorFunct )(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
অভ্যর্থনা ত্রুটি ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার.

পাবলিক বৈশিষ্ট্য

OnMessageReceived
এন্ডপয়েন্টের বার্তা অভ্যর্থনা ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।
OnReceiveError
এন্ডপয়েন্ট এরর ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি গ্রহণ করে।
mState
enum nl::Inet::IPEndPointBasis::@8
অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।

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

mBoundIntfId
InterfaceId

পাবলিক ফাংশন

JoinMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress)
একটি আইপি মাল্টিকাস্ট গ্রুপে যোগ দিন।
LeaveMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress)
একটি আইপি মাল্টিকাস্ট গ্রুপ ছেড়ে দিন।
SetMulticastLoopback (IPVersion aIPVersion, bool aLoopback)
IP মাল্টিকাস্ট ট্র্যাফিক লুপ করা উচিত কিনা তা সেট করুন।

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

Bind (IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId)
BindInterface (IPAddressType aAddressType, InterfaceId aInterfaceId)
GetSocket (IPAddressType aAddressType, int aType, int aProtocol)
HandleDataReceived ( Weave::System::PacketBuffer *aBuffer)
void
HandlePendingIO (uint16_t aPort)
void
Init ( InetLayer *aInetLayer)
void
PrepareIO (void)
SendMsg (const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags)

পাবলিক স্ট্যাটিক ফাংশন

FindNetifFromInterfaceId (InterfaceId aInterfaceId)
struct netif *

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

GetPacketInfo ( Weave::System::PacketBuffer *buf)
LwIP আইপি স্তর উৎস এবং গন্তব্য ঠিকানার তথ্য পান।

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

@৮

 @8

অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।

বস্তুগুলি "প্রস্তুত" অবস্থায় আরম্ভ করা হয়, স্থানীয় ইন্টারফেস ঠিকানায় আবদ্ধ হওয়ার পরে "বাউন্ড" অবস্থায় যান, তারপর ICMP বার্তা গ্রহণের জন্য ইভেন্ট পরিচালনার জন্য নিবন্ধিত ধারাবাহিকতা থাকলে "শ্রবণ" অবস্থায় যান।

দ্রষ্টব্য: ঐতিহাসিক বাইনারি-সামঞ্জস্যতার কারণে kBasisState_Closed অবস্থার গণনা kState_Ready এ ম্যাপ করা হয়েছে। বিদ্যমান kState_Closed "এখনও খোলা হয়নি" এবং "আগে খোলা এখন বন্ধ" এর মধ্যে পার্থক্য চিহ্নিত করার জন্য বিদ্যমান যা পূর্বে kState_Ready এবং kState_Closed অবস্থায় বিদ্যমান ছিল।

বৈশিষ্ট্য
kState_Bound

শেষবিন্দু আবদ্ধ, কিন্তু শুনছে না।

kState_Closed

এন্ডপয়েন্ট বন্ধ, মুক্তির জন্য প্রস্তুত।

kState_Listening

এন্ডপয়েন্ট রিসিভিং ডেটাগ্রাম।

kState_Ready

এন্ডপয়েন্ট শুরু হয়েছে, কিন্তু খোলা নেই।

@9

 @9

SendMsg পদ্ধতির জন্য ট্রান্সমিট বিকল্প পতাকা।

বৈশিষ্ট্য
kSendFlag_RetainBuffer

ধ্বংসাত্মকভাবে বার্তাটি সরাসরি সারিবদ্ধ করবেন না।

একটি অনুলিপি সারিবদ্ধ.

OnMessageReceivedFunct

void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)

মেসেজ টেক্সট রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।

endPoint এ মেসেজ টেক্সট রিসেপশন ইভেন্টগুলি প্রক্রিয়া করার জন্য OnMessageReceived প্রতিনিধি সদস্যকে এই ধরনের একটি ফাংশন প্রদান করুন যেখানে msg হল senderAddr এ প্রেরকের কাছ থেকে প্রাপ্ত বার্তা পাঠ্য।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত শেষ পয়েন্ট।
[in] msg
বার্তা পাঠ্য গৃহীত.
[in] senderAddr
প্রেরকের আইপি ঠিকানা।

OnReceiveErrorFunct

void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)

অভ্যর্থনা ত্রুটি ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার.

OnReceiveError প্রতিনিধি সদস্যকে endPoint এ অভ্যর্থনা ত্রুটি ইভেন্টগুলি প্রক্রিয়া করতে এই ধরণের একটি ফাংশন প্রদান করুন৷ err যুক্তি ত্রুটির ধরন সম্পর্কে নির্দিষ্ট বিশদ প্রদান করে।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত শেষ পয়েন্ট।
[in] err
ত্রুটির কারণ।

পাবলিক বৈশিষ্ট্য

OnMessageReceived

OnMessageReceivedFunct OnMessageReceived

এন্ডপয়েন্টের বার্তা অভ্যর্থনা ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।

অনরিসিভ ত্রুটি

OnReceiveErrorFunct OnReceiveError

এন্ডপয়েন্ট এরর ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি গ্রহণ করে।

mState

enum nl::Inet::IPEndPointBasis::@8 mState

অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।

বস্তুগুলি "প্রস্তুত" অবস্থায় আরম্ভ করা হয়, স্থানীয় ইন্টারফেস ঠিকানায় আবদ্ধ হওয়ার পরে "বাউন্ড" অবস্থায় যান, তারপর ICMP বার্তা গ্রহণের জন্য ইভেন্ট পরিচালনার জন্য নিবন্ধিত ধারাবাহিকতা থাকলে "শ্রবণ" অবস্থায় যান।

দ্রষ্টব্য: ঐতিহাসিক বাইনারি-সামঞ্জস্যতার কারণে kBasisState_Closed অবস্থার গণনা kState_Ready এ ম্যাপ করা হয়েছে। বিদ্যমান kState_Closed "এখনও খোলা হয়নি" এবং "আগে খোলা এখন বন্ধ" এর মধ্যে পার্থক্য চিহ্নিত করার জন্য বিদ্যমান যা পূর্বে kState_Ready এবং kState_Closed অবস্থায় বিদ্যমান ছিল।

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

mBoundIntfId

InterfaceId mBoundIntfId

পাবলিক ফাংশন

মাল্টিকাস্ট গ্রুপে যোগ দিন

INET_ERROR JoinMulticastGroup(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

একটি আইপি মাল্টিকাস্ট গ্রুপে যোগ দিন।

নির্দিষ্ট ইন্টারফেসে সরবরাহ করা মাল্টিকাস্ট গ্রুপে শেষ পয়েন্টে যোগ দিন।

বিস্তারিত
পরামিতি
[in] aInterfaceId
মাল্টিকাস্ট গ্রুপে যোগ করার জন্য নেটওয়ার্ক ইন্টারফেসের সূচক
[in] aAddress
ইন্টারফেস যোগ করার জন্য মাল্টিকাস্ট গ্রুপ
রিটার্ন মান
INET_NO_ERROR
সাফল্য: মাল্টিকাস্ট গ্রুপ সরানো হয়েছে
INET_ERROR_UNKNOWN_INTERFACE
অজানা নেটওয়ার্ক ইন্টারফেস, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress kIPAddressType_IPv4 বা kIPAddressType_IPv6 নয় বা মাল্টিকাস্ট নয়
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

মাল্টিকাস্ট গ্রুপ ছেড়ে দিন

INET_ERROR LeaveMulticastGroup(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

একটি আইপি মাল্টিকাস্ট গ্রুপ ছেড়ে দিন।

নির্দিষ্ট ইন্টারফেসে সরবরাহ করা মাল্টিকাস্ট গ্রুপ থেকে শেষ পয়েন্টটি সরান।

বিস্তারিত
পরামিতি
[in] aInterfaceId
মাল্টিকাস্ট গ্রুপ থেকে সরানোর জন্য নেটওয়ার্ক ইন্টারফেসের সূচক
[in] aAddress
যে মাল্টিকাস্ট গ্রুপ থেকে ইন্টারফেস সরাতে হবে
রিটার্ন মান
INET_NO_ERROR
সাফল্য: মাল্টিকাস্ট গ্রুপ সরানো হয়েছে
INET_ERROR_UNKNOWN_INTERFACE
অজানা নেটওয়ার্ক ইন্টারফেস, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress kIPAddressType_IPv4 বা kIPAddressType_IPv6 নয় বা মাল্টিকাস্ট নয়
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

মাল্টিকাস্ট লুপব্যাক সেট করুন

INET_ERROR SetMulticastLoopback(
  IPVersion aIPVersion,
  bool aLoopback
)

IP মাল্টিকাস্ট ট্র্যাফিক লুপ করা উচিত কিনা তা সেট করুন।

IP মাল্টিকাস্ট ট্র্যাফিক এই শেষ পয়েন্টে লুপ করা উচিত কিনা তা সেট করুন।

বিস্তারিত
পরামিতি
[in] aIPVersion
[in] aLoop
রিটার্ন মান
INET_NO_ERROR
সাফল্য: মাল্টিকাস্ট লুপব্যাক আচরণ সেট
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

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

বাঁধন

INET_ERROR Bind(
  IPAddressType aAddressType,
  IPAddress aAddress,
  uint16_t aPort,
  InterfaceId aInterfaceId
)

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

INET_ERROR BindInterface(
  IPAddressType aAddressType,
  InterfaceId aInterfaceId
)

গেটসকেট

INET_ERROR GetSocket(
  IPAddressType aAddressType,
  int aType,
  int aProtocol
)

হ্যান্ডেল ডেটা রিসিভড

void HandleDataReceived(
  Weave::System::PacketBuffer *aBuffer
)

হ্যান্ডেল পেন্ডিংআইও

void HandlePendingIO(
  uint16_t aPort
)

ইনিট

void Init(
  InetLayer *aInetLayer
)

প্রস্তুতি আইও

SocketEvents PrepareIO(
  void
)

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *aPktInfo,
  Weave::System::PacketBuffer *aBuffer,
  uint16_t aSendFlags
)

পাবলিক স্ট্যাটিক ফাংশন

FindNetifFromInterfaceId

struct netif * FindNetifFromInterfaceId(
  InterfaceId aInterfaceId
)

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

GetPacketInfo

IPPacketInfo * GetPacketInfo(
  Weave::System::PacketBuffer *buf
)

LwIP আইপি স্তর উৎস এবং গন্তব্য ঠিকানার তথ্য পান।

LwIP ব্যবহার করার সময় প্যাকেট সম্পর্কে তথ্য প্যাকেট বাফারে ডেটা শুরু হওয়ার আগে সংরক্ষিত স্থানে 'লুকানো' থাকে। এটি প্রয়োজনীয় কারণ সিস্টেম লেয়ার ইভেন্টে শুধুমাত্র দুটি আর্গুমেন্ট থাকে, যা এই ক্ষেত্রে পয়েন্টারকে শেষ বিন্দুতে এবং পয়েন্টারকে বাফারে পৌঁছে দিতে ব্যবহৃত হয়।

বিস্তারিত
পরামিতি
[in] aBuffer
আইপি বার্তা ধারণকারী প্যাকেট বাফার
রিটার্নস
সাফল্যের ঠিকানা তথ্যের একটি নির্দেশক; অন্যথায়, ঠিকানার তথ্যের জন্য প্যাকেটে অপর্যাপ্ত স্থান থাকলে NULL।

বেশিরভাগ ক্ষেত্রে তথ্য সংরক্ষণের এই কৌশলটি কাজ করার আগে কাজ করে কারণ একটি LwIP আইপি বার্তার প্রথম বাফারে ইথারনেট/আইপি/ইউডিপি শিরোনামগুলির জন্য ব্যবহৃত স্থান রয়েছে। যাইহোক, IPPacketInfo কাঠামোর বর্তমান আকার (40 বাইট) দেওয়া, একটি একক প্যাকেট বাফারে পেলোড সহ কাঠামো সংরক্ষণ করার জন্য পর্যাপ্ত জায়গা না থাকা সম্ভব। অনুশীলনে, এটি শুধুমাত্র অত্যন্ত বড় আইপিভি 4 প্যাকেটগুলির জন্য ঘটতে হবে যা ইথারনেট হেডার ছাড়াই আসে।