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
|
משתמש שקיבל הרשאה לטיפול באירועים של קליטת הודעות בנקודת הקצה (endpoint).
|
OnReceiveError
|
מקבל הגישה לפונקציית הטיפול באירועי שגיאה של נקודת הקצה.
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
מצב דינמי בסיסי של נקודת הקצה הבסיסית.
|
מאפיינים מוגנים |
|
---|---|
mBoundIntfId
|
InterfaceId
|
פונקציות ציבוריות |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
הצטרפות לקבוצת Multicast של כתובת IP.
|
LeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
יציאה מקבוצת Multicast של כתובת 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)
|
קבלת פרטי כתובת המקור וכתובת היעד של שכבת LwIP.
|
סוגים ציבוריים
8@
@8
מצב דינמי בסיסי של נקודת הקצה הבסיסית.
האובייקטים מאותחלים במצב Ready (מוכן) מצב, ממשיכים אל ה'יעד' אחרי הקישור לכתובת ממשק מקומית, ואז ממשיכים אל "האזנה" כאשר יש להם משכי זמן רשומים לטיפול באירועים עבור קליטה של הודעות ICMP.
הערה: ספירת המצב kBasisState_Closed
ממופה ל-kState_Ready
מסיבות של תאימות בינארית היסטורית. קיים kState_Closed
הקיים כדי לזהות בנפרד את ההבחנה בין 'עדיין לא נפתח' ו'נפתחו בעבר'
סגור עכשיו" שהיו קיימים בעבר במדינות kState_Ready
ו-kState_Closed
.
מאפיינים | |
---|---|
kState_Bound
|
נקודת הקצה קשורה, אבל לא להאזנה. |
kState_Closed
|
נקודת הקצה סגורה, מוכנה לפרסום. |
kState_Listening
|
נקודות קצה (endpoint) מקבלות תרשימים של נתונים. |
kState_Ready
|
נקודת הקצה הופעלה, אבל היא לא פתוחה. |
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)
סוג הפונקציה לטיפול באירועים של שגיאה בקבלה.
כדי לעבד אירועי שגיאה בקבלה ב-endPoint
, צריך לספק פונקציה מהסוג הזה לאדם שהוענקה לו OnReceiveError
. הארגומנט err
מספק פרטים ספציפיים לגבי סוג השגיאה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
מאפיינים ציבוריים
OnMessageReceived
OnMessageReceivedFunct OnMessageReceived
משתמש שקיבל הרשאה לטיפול באירועים של קליטת הודעות בנקודת הקצה (endpoint).
OnReceiveError
OnReceiveErrorFunct OnReceiveError
מקבל הגישה לפונקציית הטיפול באירועי שגיאה של נקודת הקצה.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
מצב דינמי בסיסי של נקודת הקצה הבסיסית.
האובייקטים מאותחלים במצב Ready (מוכן) מצב, ממשיכים אל ה'יעד' אחרי הקישור לכתובת ממשק מקומית, ואז ממשיכים אל "האזנה" כאשר יש להם משכי זמן רשומים לטיפול באירועים עבור קליטה של הודעות ICMP.
הערה: ספירת המצב kBasisState_Closed
ממופה ל-kState_Ready
מסיבות של תאימות בינארית היסטורית. קיים kState_Closed
הקיים כדי לזהות בנפרד את ההבחנה בין 'עדיין לא נפתח' ו'נפתחו בעבר'
סגור עכשיו" שהיו קיימים בעבר במדינות kState_Ready
ו-kState_Closed
.
מאפיינים מוגנים
mBoundIntfId
InterfaceId mBoundIntfId
פונקציות ציבוריות
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
הצטרפות לקבוצת Multicast של כתובת IP.
מצטרפים לנקודת הקצה לקבוצת ה-multicast שסופקה בממשק שצוין.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
מוחזר ערכים |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
יציאה מקבוצת Multicast של כתובת 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 )
Init
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 )
קבלת פרטי כתובת המקור וכתובת היעד של שכבת LwIP.
כשמשתמשים במידע של LwIP לגבי החבילה, הוא 'מוסתר' במקום השמור לפני תחילת הנתונים במאגר הנתונים הזמני. הפעולה הזאת נדרשת כי לאירועים של שכבת המערכת יש רק שני ארגומנטים, שבמקרה הזה משמשים להעברת הסמן לנקודת הקצה והסמן למאגר הנתונים הזמני.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מצביע אל פרטי הכתובת לגבי הצלחה. אחרת, הערך יהיה NULL אם אין מספיק מקום בחבילה לפרטי הכתובת.
|
ברוב המקרים הטריק הזה של אחסון מידע לפני הנתונים פועל כי מאגר הנתונים הזמני הראשון בהודעת LwIP IP מכיל את הרווח ששימש לכותרות האתרנט/IP/UDP. עם זאת, בהתחשב בגודל הנוכחי של המבנה של IPPacketInfo (40 בייט), ייתכן שאין מספיק מקום לאחסן את המבנה יחד עם המטען הייעודי (Payload) במאגר נתונים זמני אחד. בפועל, זה אמור לקרות רק לגבי חבילות IPv4 גדולות במיוחד שמגיעות ללא כותרת אתרנט.