nl:: Inet:: IPendPointBasis
#include <src/inet/IPEndPointBasis.h>
এই শ্রেণীর অবজেক্টগুলি অ-তাত্ক্ষণিক আইপি প্রোটোকল এন্ডপয়েন্ট উপস্থাপন করে।
সারাংশ
উত্তরাধিকার
থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: nl::Inet::EndPointBasisসরাসরি পরিচিত সাবক্লাস:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
পাবলিক প্রকার | |
---|---|
@8 { | enum অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা। |
@9 { | enumSendMsg পদ্ধতির জন্য ট্রান্সমিট বিকল্প পতাকা। |
OnMessageReceivedFunct )(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) | typedefvoid(* মেসেজ টেক্সট রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার। |
OnReceiveErrorFunct )(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) | typedefvoid(* অভ্যর্থনা ত্রুটি ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার. |
পাবলিক বৈশিষ্ট্য | |
---|---|
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
অবস্থায় বিদ্যমান ছিল।
@9
@9
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
মেসেজ টেক্সট রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।
endPoint
এ মেসেজ টেক্সট রিসেপশন ইভেন্টগুলি প্রক্রিয়া করার জন্য OnMessageReceived
প্রতিনিধি সদস্যকে এই ধরনের একটি ফাংশন প্রদান করুন যেখানে msg
হল senderAddr
এ প্রেরকের কাছ থেকে প্রাপ্ত বার্তা পাঠ্য।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
অভ্যর্থনা ত্রুটি ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার.
OnReceiveError
প্রতিনিধি সদস্যকে endPoint
এ অভ্যর্থনা ত্রুটি ইভেন্টগুলি প্রক্রিয়া করতে এই ধরণের একটি ফাংশন প্রদান করুন৷ 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 )
একটি আইপি মাল্টিকাস্ট গ্রুপে যোগ দিন।
নির্দিষ্ট ইন্টারফেসে সরবরাহ করা মাল্টিকাস্ট গ্রুপে শেষ পয়েন্টে যোগ দিন।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
|
মাল্টিকাস্ট গ্রুপ ছেড়ে দিন
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
একটি আইপি মাল্টিকাস্ট গ্রুপ ছেড়ে দিন।
নির্দিষ্ট ইন্টারফেসে সরবরাহ করা মাল্টিকাস্ট গ্রুপ থেকে শেষ পয়েন্টটি সরান।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
|
মাল্টিকাস্ট লুপব্যাক সেট করুন
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
IP মাল্টিকাস্ট ট্র্যাফিক লুপ করা উচিত কিনা তা সেট করুন।
IP মাল্টিকাস্ট ট্র্যাফিক এই শেষ পয়েন্টে লুপ করা উচিত কিনা তা সেট করুন।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
সুরক্ষিত ফাংশন
বাঁধন
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 ব্যবহার করার সময় প্যাকেট সম্পর্কে তথ্য প্যাকেট বাফারে ডেটা শুরু হওয়ার আগে সংরক্ষিত স্থানে 'লুকানো' থাকে। এটি প্রয়োজনীয় কারণ সিস্টেম লেয়ার ইভেন্টে শুধুমাত্র দুটি আর্গুমেন্ট থাকে, যা এই ক্ষেত্রে পয়েন্টারকে শেষ বিন্দুতে এবং পয়েন্টারকে বাফারে পৌঁছে দিতে ব্যবহৃত হয়।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
| ||
রিটার্নস | সাফল্যের ঠিকানা তথ্যের একটি নির্দেশক; অন্যথায়, ঠিকানার তথ্যের জন্য প্যাকেটে অপর্যাপ্ত স্থান থাকলে NULL। |
বেশিরভাগ ক্ষেত্রে তথ্য সংরক্ষণের এই কৌশলটি কাজ করার আগে কাজ করে কারণ একটি LwIP আইপি বার্তার প্রথম বাফারে ইথারনেট/আইপি/ইউডিপি শিরোনামগুলির জন্য ব্যবহৃত স্থান রয়েছে। যাইহোক, IPPacketInfo কাঠামোর বর্তমান আকার (40 বাইট) দেওয়া, একটি একক প্যাকেট বাফারে পেলোড সহ কাঠামো সংরক্ষণ করার জন্য পর্যাপ্ত জায়গা না থাকা সম্ভব। অনুশীলনে, এটি শুধুমাত্র অত্যন্ত বড় আইপিভি 4 প্যাকেটগুলির জন্য ঘটতে হবে যা ইথারনেট হেডার ছাড়াই আসে।