nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
האובייקטים מהמחלקה הזו מייצגים נקודות קצה של פרוטוקול IP שאינן בשימוש.
סיכום
ירושה
ירשת מ: nl::Inet::EndPointBasisמחלקות משנה ישירות ידועות:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
סוגים ציבוריים |
|
---|---|
@8{
|
טיפוסים בני מנייה (enum) המצב הדינמי הבסיסי של נקודת הקצה בבסיס. |
@9{
|
טיפוסים בני מנייה (enum) שידור דגלי אפשרויות ל-method SendMsg . |
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
|
typedefvoid(*
סוג הפונקציה לטיפול באירוע של קבלת טקסט מהודעה. |
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
סוג הפונקציה לטיפול באירועים בשגיאת קבלה. |
מאפיינים ציבוריים |
|
---|---|
OnMessageReceived
|
הענקת גישה לפונקציית הטיפול באירוע העברת הודעות של נקודת הקצה.
|
OnReceiveError
|
הקצאת פונקציית טיפול באירועי שגיאות בנקודת הקצה (endpoint).
|
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
.
תכונות | |
---|---|
kState_Bound
|
נקודת הקצה מוגבלת, אבל לא מתבצעת האזנה. |
kState_Closed
|
נקודת הקצה (endpoint) סגורה, מוכנה לפרסום. |
kState_Listening
|
נקודות הקצה (endpoint) מקבלות תרשימים של נתונים. |
kState_Ready
|
נקודת הקצה (endpoint) אותחלה, אבל לא פתוחה. |
9@
@9
שידור דגלי אפשרויות ל-method SendMsg
.
תכונות | |
---|---|
kSendFlag_RetainBuffer
|
אין להוסיף את ההודעה ישירות לתור. מוסיפים עותק לתור. |
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
הקצאת פונקציית טיפול באירועי שגיאות בנקודת הקצה (endpoint).
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.
מצרפים את נקודת הקצה לקבוצת שידורים מרובים בממשק שצוין.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
עזיבת קבוצה של שידורים מרובים של כתובת IP.
מסירים את נקודת הקצה מקבוצת ה-multicast שסופקה בממשק שצוין.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
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 )
PrepareIO
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 )
קבלת פרטי כתובת המקור והיעד של שכבת ה-IP של LwIP.
כשמשתמשים ב-LwIP, המידע על החבילה 'מוסתר' במקום השמור לפני תחילת הנתונים במאגר הזמני של החבילות. הפעולה הזאת נדרשת כי האירועים של שכבת המערכת מכילים רק שני ארגומנטים, שבמקרה הזה משמשים להעברת המצביע לנקודת הסיום והמצביע למאגר הנתונים הזמני.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מצביע אל פרטי הכתובת בהצלחה. אחרת, הערך NULL אם אין מספיק מקום בחבילה לפרטי הכתובת.
|
ברוב המקרים הטריק הזה של אחסון מידע לפני הנתונים פועל כי המאגר הראשון בהודעת LwIP IP מכיל את השטח ששימש לכותרות Ethernet/IP/UDP. עם זאת, בהתחשב בגודל הנוכחי של מבנה IPPacketInfo (40 בייט), ייתכן שלא יהיה מספיק מקום לאחסן את המבנה יחד עם המטען הייעודי (payload) במאגר חבילות יחיד. בפועל, זה אמור לקרות רק לחבילות IPv4 גדולות במיוחד שמגיעות ללא כותרת Ethernet.