nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

אובייקטים מהמחלקה הזו מייצגים נקודות קצה להעברה של UDP.

סיכום

השכבה של Nest Inet מכסה שיטות לאינטראקציה עם נקודות קצה לתעבורה של UDP (שקעי SOCK_DGRAM במערכות Linux ו-BSD) או בלוקים של בקרת פרוטוקול LwIP UDP, כי המערכת מוגדרת בהתאם.

ירושה

עובר בירושה מ: nl::Inet::IPEndPointBasis

פונקציות ציבוריות

Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
קישור של נקודת הקצה לכתובת IP של הממשק.
BindInterface(IPAddressType addrType, InterfaceId intf)
קישור של נקודת הקצה לממשק רשת.
Close(void)
void
סוגרים את נקודת הקצה.
Free(void)
void
סוגרים את נקודת הקצה ומחזרים את הזיכרון שלה.
GetBoundInterface(void)
InterfaceId
מוצאים את הממשק המקושר בנקודת הקצה הזו.
GetBoundPort(void)
uint16_t
Listen(void)
הכנת נקודת הקצה לקבלת הודעות UDP.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
שליחה של הודעת UDP ליעד ספציפי.
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
מילה נרדפת של SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
שליחה של הודעת UDP לכתובת היעד שצוינה.

פונקציות ציבוריות

כריכה

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId
)

קישור של נקודת הקצה לכתובת IP של הממשק.

מקשרת את נקודת הקצה לכתובת ה-IP של ממשק הרשת שצוינה.

פרטים
פרמטרים
[in] addrType
גרסת הפרוטוקול של כתובת ה-IP
[in] addr
כתובת ה-IP (חייבת להיות כתובת ממשק)
[in] port
יציאת ה-UDP
[in] intfId
אינדיקטור אופציונלי של ממשק רשת
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת קצה קשורה לכתובת
INET_ERROR_INCORRECT_STATE
נקודת הקצה קשורה בעבר
INET_NO_MEMORY
אין מספיק זיכרון לנקודת הקצה
INET_ERROR_UNKNOWN_INTERFACE
בפלטפורמות מסוימות, הממשק שצוין (אופציונלי) לא קיים.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType אינו תואם ל-IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType הוא kIPAddressType_Any, או הסוג של addr לא שווה ל-addrType.
other
שגיאת מערכת או פלטפורמה אחרת

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

קישור של נקודת הקצה לממשק רשת.

מקשרת את נקודת הקצה לכתובת ה-IP של ממשק הרשת שצוינה.

פרטים
פרמטרים
[in] addrType
גרסת הפרוטוקול של כתובת ה-IP.
[in] intf
אינדיקטור של ממשק הרשת.
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת קצה קשורה לכתובת
INET_NO_MEMORY
אין מספיק זיכרון לנקודת הקצה
INET_ERROR_NOT_IMPLEMENTED
הטמעת המערכת לא הושלמה.
INET_ERROR_UNKNOWN_INTERFACE
בפלטפורמות מסוימות הממשק לא קיים.
other
שגיאת מערכת או פלטפורמה אחרת

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

סגירה

void Close(
  void
)

סוגרים את נקודת הקצה.

אם הערך mState != kState_Closed הוא נקודת הקצה, נקודת הקצה נסגרת ומסירים אותה מקבוצת נקודות הקצה שעומדות בדרישות לאירועי תקשורת.

במערכות LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

בחינם

void Free(
  void
)

סוגרים את נקודת הקצה ומחזרים את הזיכרון שלה.

הפעלה של ה-method Close, ואז הפעלת ה-method InetLayerBasis::Release כדי להחזיר את האובייקט למאגר הזיכרון שלו.

במערכות LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

מוצאים את הממשק המקושר בנקודת הקצה הזו.

פרטים
החזרות
InterfaceId מזהה הממשק המקושר.

GetBoundPort

uint16_t GetBoundPort(
  void
)

האזנה

INET_ERROR Listen(
  void
)

הכנת נקודת הקצה לקבלת הודעות UDP.

אם הערך של State כבר kState_Listening, לא תבוצע פעולה, אחרת הערך של mState יוגדר להיות kState_Listening ונקודת הקצה מוכנה לקבלת הודעות UDP, בהתאם לסמנטיקה של הפלטפורמה.

פרטים
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת הקצה מוכנה לקבלת הודעות.
INET_ERROR_INCORRECT_STATE
נקודת הקצה כבר מאזין.

ב-LwIP, אסור לקרוא לשיטה הזו כשנעילת הערימה של LwIP כבר נרכשה

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

שליחה של הודעת UDP ליעד ספציפי.

 Send the UDP message in \c msg to the destination address and port given in
 \c pktInfo.  If \c pktInfo contains an interface id, the message will be sent
 over the specified interface.  If \c pktInfo contains a source address, the
 given address will be used as the source of the UDP message.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

פרטים
פרמטרים
[in] pktInfo
פרטי המקור והיעד של הודעת ה-UDP
[in] msg
מאגר חבילות נתונים שמכיל את הודעת ה-UDP
[in] sendFlags
דגלים אופציונליים של אפשרויות שידור
מוחזר ערכים
INET_NO_ERROR
הצלחה: msg בתור לשידור.
INET_ERROR_NOT_SUPPORTED
המערכת לא תומכת בפעולה המבוקשת.
INET_ERROR_WRONG_ADDRESS_TYPE
לכתובת היעד ולכתובת הממשק המקושרת אין גרסאות פרוטוקול תואמות או סוג כתובת תואם.
INET_ERROR_MESSAGE_TOO_LONG
msg לא מכיל את כל הודעת ה-UDP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
בפלטפורמות מסוימות, רק חלק קטוע של msg נוסף לתור לשידור.
other
שגיאת מערכת או פלטפורמה אחרת

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

מילה נרדפת של SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags).

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

שליחה של הודעת UDP לכתובת היעד שצוינה.

 If possible, then this method sends the UDP message \c msg to the
 destination \c addr (with \c intfId used as the scope
 identifier for IPv6 link-local destinations) and \c port with the
 transmit option flags encoded in \c sendFlags.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

פרטים
פרמטרים
[in] addr
כתובת ה-IP של היעד
[in] port
יציאת ה-UDP של היעד
[in] intfId
אינדיקטור אופציונלי של ממשק רשת
[in] msg
מאגר המנות שמכיל את הודעת ה-UDP
[in] sendFlags
דגלים אופציונליים של אפשרויות שידור
מוחזר ערכים
INET_NO_ERROR
הצלחה: msg בתור לשידור.
INET_ERROR_NOT_SUPPORTED
המערכת לא תומכת בפעולה המבוקשת.
INET_ERROR_WRONG_ADDRESS_TYPE
לכתובת היעד ולכתובת הממשק המקושרת אין גרסאות פרוטוקול תואמות או סוג כתובת תואם.
INET_ERROR_MESSAGE_TOO_LONG
msg לא מכיל את כל הודעת ה-UDP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
בפלטפורמות מסוימות, רק חלק קטוע של msg נוסף לתור לשידור.
other
שגיאת מערכת או פלטפורמה אחרת