nl:: اینت:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
اشیاء این کلاس نشان دهنده نقاط پایانی پروتکل IP غیرقابل اثبات هستند.
خلاصه
ارث
از: nl::Inet::EndPointBasis ارث می بردزیر کلاس های مستقیم شناخته شده:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
انواع عمومی | |
---|---|
@8 { | enum وضعیت دینامیکی پایه نقطه پایانی زیربنایی. |
@9 { | enum پرچم های گزینه را برای روش SendMsg ارسال کنید. |
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) | به یک گروه چندپخشی IP بپیوندید. |
LeaveMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress) | گروه چندپخشی IP را ترک کنید. |
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) | اطلاعات آدرس منبع و مقصد لایه IP LwIP را دریافت کنید. |
انواع عمومی
@8
@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)
نوع عملکرد مدیریت رویداد دریافت متن پیام.
تابعی از این نوع را به عضو نماینده OnMessageReceived
برای پردازش رویدادهای دریافت متن پیام در endPoint
ارائه دهید که در آن msg
متن پیام دریافتی از فرستنده در senderAddr
است.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
نوع عملکرد مدیریت رویداد خطای دریافت.
تابعی از این نوع را به عضو نماینده OnReceiveError
برای پردازش رویدادهای خطای دریافت در endPoint
ارائه دهید. آرگومان err
جزئیات خاصی در مورد نوع خطا ارائه می دهد.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
صفات عمومی
OnMessageReceived
OnMessageReceivedFunct OnMessageReceived
تابع مدیریت رویداد دریافت پیام نقطه پایانی.
OnReceiveError
OnReceiveErrorFunct OnReceiveError
نماینده تابع رسیدگی به رویداد خطای دریافت نقطه پایانی.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
وضعیت دینامیکی پایه نقطه پایانی زیربنایی.
اشیاء در حالت "آماده" مقداردهی اولیه می شوند، پس از اتصال به یک آدرس رابط محلی، به حالت "محصول" می روند، سپس زمانی که ادامه برای مدیریت رویدادها برای دریافت پیام های ICMP ثبت شده اند، به حالت "گوش دادن" می روند.
توجه: شمارش حالت kBasisState_Closed
به دلایل سازگاری باینری تاریخی به kState_Ready
نگاشت شده است. kState_Closed
موجود برای شناسایی جداگانه تمایز بین "هنوز باز نشده" و "قبلاً باز شده اکنون بسته است" وجود دارد که قبلاً در حالتهای kState_Ready
و kState_Closed
وجود داشت.
ویژگی های محافظت شده
mBoundIntfId
InterfaceId mBoundIntfId
توابع عمومی
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
به یک گروه چندپخشی IP بپیوندید.
نقطه پایانی را به گروه چندپخشی ارائه شده در رابط مشخص شده بپیوندید.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
ترکMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
گروه چندپخشی IP را ترک کنید.
نقطه پایانی را از گروه چندپخشی ارائه شده در رابط مشخص شده حذف کنید.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
تنظیم کنید که آیا ترافیک چندپخشی IP باید برگردانده شود یا خیر.
تنظیم کنید که آیا ترافیک چندپخشی IP باید به این نقطه پایانی بازگردد یا خیر.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
ارزش های بازگشتی |
|
توابع محافظت شده
ببندید
INET_ERROR Bind( IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId )
BindInterface
INET_ERROR BindInterface( IPAddressType aAddressType, InterfaceId aInterfaceId )
GetSocket
INET_ERROR GetSocket( IPAddressType aAddressType, int aType, int aProtocol )
HandleDataReceived
void HandleDataReceived( Weave::System::PacketBuffer *aBuffer )
HandlePendingIO
void HandlePendingIO( uint16_t aPort )
شروع کنید
void Init( InetLayer *aInetLayer )
IO را آماده کنید
SocketEvents PrepareIO( void )
ارسال پیام
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 )
اطلاعات آدرس منبع و مقصد لایه IP LwIP را دریافت کنید.
هنگام استفاده از LwIP اطلاعات مربوط به بسته قبل از شروع داده ها در بافر بسته در فضای رزرو شده پنهان می شود. این امر ضروری است زیرا رویدادهای لایه سیستم فقط دو آرگومان دارند که در این مورد برای انتقال اشاره گر به نقطه پایانی و اشاره گر به بافر استفاده می شود.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | اشاره گر به اطلاعات آدرس در مورد موفقیت؛ در غیر این صورت، اگر فضای کافی در بسته برای اطلاعات آدرس وجود نداشته باشد، NULL. |
در بیشتر موارد، این ترفند ذخیره سازی اطلاعات قبل از داده کار می کند، زیرا اولین بافر در یک پیام IP LwIP حاوی فضایی است که برای هدرهای Ethernet/IP/UDP استفاده شده است. با این حال، با توجه به اندازه فعلی ساختار IPPacketInfo (40 بایت)، ممکن است فضای کافی برای ذخیره سازه همراه با بار در یک بسته بسته وجود نداشته باشد. در عمل، این باید فقط برای بستههای IPv4 بسیار بزرگی که بدون هدر اترنت وارد میشوند اتفاق بیفتد.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-14 بهوقت ساعت هماهنگ جهانی.