nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

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

סיכום

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

ירושה

עוברות בירושה מ: nl::Inet::EndPointBasis

סוגים ציבוריים

@10{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Connecting = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_ReceiveShutdown = 6,
  kState_Closing = 7,
  kState_Closed = 8
}
טיפוסים בני מנייה (enum)
המצב הדינמי הבסיסי של נקודת הקצה בבסיס.
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
סוג פונקציית הטיפול בשגיאות בקבלת חיבור.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
סוג הפונקציה של טיפול באירועים של ביסוס חיבור.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
סוג הפונקציה של טיפול באירועים של ביסוס חיבור.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
סוג החיבור שהתקבל של פונקציית טיפול באירועים.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
סוג הפונקציה לטיפול באירועים של קליטת נתונים.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
סוג הפונקציה לטיפול באירועים של העברת נתונים.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
סוג פונקציית הטיפול באירוע קבלה לחצי סגירה.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
סוג הפונקציה של טיפול אותות שהשתנה ב-TCP SendIdle.

מאפיינים ציבוריים

OnAcceptError
הענקת גישה לפונקציית הטיפול באירוע אישור החיבור של נקודת הקצה.
OnConnectComplete
הקצאה של פונקציית טיפול באירועים של יצירת חיבור בנקודת הקצה.
OnConnectionClosed
הענקת גישה לפונקציה של טיפול באירועים סגורים בנקודת הקצה.
OnConnectionReceived
החיבור של נקודת הקצה מקבל הקצאה של פונקציית טיפול באירועים.
OnDataReceived
הענקת גישה לפונקציית הטיפול באירוע טקסט של נקודת הקצה (endpoint).
OnDataSent
הקצאת פונקציית טיפול באירוע העברת טקסט של הודעות בנקודת הקצה (endpoint).
OnPeerClose
הענקת גישה לפונקציית טיפול באירועים לחצי סגירה של נקודת הקצה.
OnTCPSendIdleChanged
פונקציית הטיפול באירועים מאפשרת להאציל את האות של נקודת הקצה כשחוסר הפעילות של ערוץ השליחה של חיבור ה-TCP משתנה.
ReceiveEnabled
bool
מתג בקרה שמציין אם האפליקציה מקבלת נתונים.
State
enum nl::Inet::TCPEndPoint::@10
המצב הדינמי הבסיסי של נקודת הקצה בבסיס.

תפקידים ציבוריים

Abort(void)
void
סוגרים באופן סופי את נקודת הקצה. כלומר, שולחים מנות RST.
AckReceive(uint16_t len)
יש לאשר את קבלת טקסט ההודעה.
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
קישור של נקודת הקצה לכתובת IP של הממשק.
Close(void)
הפעלת סגירה מלאה של TCP, כלומר, סיום תהליך השליחה והקבלה של TCP.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
יוצרים חיבור TCP.
DisableKeepAlive(void)
השבת את האפשרות keep-alive ב-TCP.
DisableReceive(void)
void
השבתת הקבלה.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
הפעל את האפשרות keep-alive ב-TCP.
EnableNoDelay(void)
אפשרNoDelay.
EnableReceive(void)
void
הפעלת הקליטה.
Free(void)
void
הפעלה (או המשך) סגירה מלאה של ה-TCP, תוך התעלמות משגיאות.
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
חילוץ כתובת IP ויציאת TCP של נקודת קצה מקומית.
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
חילוץ כתובת IP ויציאת TCP של נקודת קצה מרוחקת.
IsConnected(void) const
bool
חלץ אם נוצר חיבור TCP.
Listen(uint16_t backlog)
הכנת נקודת הקצה לקבלת הודעות TCP.
LogId(void)
uint16_t
מקבלים מזהה של נקודת הקצה.
MarkActive(void)
void
שימו לב לפעילות, כלומר, לאפס את הטיימר ללא פעילות.
PendingReceiveLength(void)
uint32_t
מחלצים את האורך של נתוני הקבלה שלא אושרו.
PendingSendLength(void)
uint32_t
מחלצים את אורך הנתונים שממתינים לשידור הראשון.
PutBackReceivedData(Weave::System::PacketBuffer *data)
דחיפת טקסט ההודעה בחזרה לראש תור הקבלה.
Send(Weave::System::PacketBuffer *data, bool push)
שליחת טקסט של הודעות בחיבור TCP.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
הגדרת זמן קצוב לתפוגה של חיבור כדי להצליח או להחזיר שגיאה.
SetUserTimeout(uint32_t userTimeoutMillis)
הגדר את האפשרות TCP TCP_USER_PERIOD socket.
Shutdown(void)
הפעלת חצי סגירה של TCP, כלומר, סיום השליחה.

סוגים ציבוריים

10@

 @10

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

האובייקטים מאותחלים במצב "מוכן", ממשיכים למצבים הבאים בהתאם לפישוט המצבים של המכונה של מצב ההעברה של TCP.

הערה: ספירת המצב kBasisState_Closed ממופה לערך kState_Ready מסיבות היסטוריות של תאימות בינארית. השדה kState_Closed הקיים נועד לזהות בנפרד את ההבחנה בין "עדיין לא נפתח" לבין "נפתח עכשיו סגור בעבר" שהייתה קיימת קודם במצב kState_Ready ובמצב kState_Closed.

תכונות
kState_Bound

נקודת הקצה מוגבלת, אבל לא מתבצעת האזנה.

kState_Closed

נקודת הקצה (endpoint) סגורה, מוכנה לפרסום.

kState_Closing

סגירה דו-כיוונית של נקודת הקצה.

kState_Connected

נקודת הקצה (endpoint) מחוברת, מוכנה ל-tx/rx.

kState_Connecting

נקודת הקצה (endpoint) מנסה להתחבר.

kState_Listening

נקודת הקצה (endpoint) מקבלת חיבורים.

kState_Ready

נקודת הקצה (endpoint) אותחלה, אבל לא מקושרת.

kState_ReceiveShutdown

נקודת הקצה (endpoint) השיבה לחצי סגירה.

kState_SendShutdown

נקודת הקצה (endpoint) החלה לחצי סגירה.

OnAcceptErrorFunct

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

סוג פונקציית הטיפול בשגיאות בקבלת חיבור.

צריך לספק פונקציה מהסוג הזה למשתמש עם ההרשאה OnAcceptError כדי לעבד אירועי שגיאה של אישור חיבור ב-endPoint. הארגומנט err מספק פרטים ספציפיים לגבי סוג השגיאה.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.
[in] err
הסיבה לשגיאה.

OnConnectCompleteFunct

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

סוג הפונקציה של טיפול באירועים של ביסוס חיבור.

צריך לספק פונקציה מהסוג הזה למשתמש עם הרשאות OnConnectComplete לעיבוד אירועים של יצירת חיבור ב-endPoint. הארגומנט err יוצר הבחנה בין חיבורים מוצלחים לכשלים.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.
[in] err
INET_NO_ERROR אם ההצלחה, אחרת קוד אחר.

OnConnectionClosedFunct

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

סוג הפונקציה של טיפול באירועים של ביסוס חיבור.

צריך לספק פונקציה מסוג זה לחבר המואצל OnConnectionClosed כדי שיעבד אירועים של סיום חיבור ב-endPoint. הארגומנט err יוצר הבחנה בין סיום מוצלח לבין כשלים.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.
[in] err
INET_NO_ERROR אם ההצלחה, אחרת קוד אחר.

OnConnectionReceivedFunct

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

סוג החיבור שהתקבל של פונקציית טיפול באירועים.

צריך לספק פונקציה מסוג זה לחבר המואצל OnConnectionReceived כדי לעבד אירועי קבלת חיבור ב-listeningEndPoint. נקודת הקצה החדשה שהתקבלה conEndPoint ממוקמת בכתובת ה-IP peerAddr וביציאת ה-TCP peerPort.

פרטים
פרמטרים
[in] listeningEndPoint
נקודת הקצה של TCP להאזנה.
[in] conEndPoint
נקודת הקצה החדשה של TCP שהתקבלה.
[in] peerAddr
כתובת ה-IP של העמית המרוחק.
[in] peerPort
יציאת ה-TCP של העמית המרוחק.

OnDataReceivedFunct

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

סוג הפונקציה לטיפול באירועים של קליטת נתונים.

צריך לספק פונקציה מסוג זה לחבר עם ההרשאה OnDataReceived כדי לעבד אירועים של קבלת נתונים ב-endPoint, כאשר data הוא טקסט ההודעה שמתקבל.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.
[in] data
הנתונים שהתקבלו.

גורם מטפל באירוע קבלת נתונים חייב לאשר שהנתונים שמעובדים באמצעות השיטה AckReceive. חובה להפעיל גם את השיטה Free במאגר הנתונים הזמני, אלא אם משתמשים במקומה ב-PutBackReceivedData.

OnDataSentFunct

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

סוג הפונקציה לטיפול באירועים של העברת נתונים.

צריך לספק פונקציה מהסוג הזה להענקת הגישה ל-OnDataSent כדי לעבד אירועים של העברת נתונים ב-endPoint, כאשר len הוא אורך הטקסט של ההודעה שנוספה לחלון השידור של TCP, ושניתן לשלוח אותה דרך מחסנית הרשת הבסיסית.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.
[in] len
מספר הבייטים שנוספו לחלון השידור.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

סוג פונקציית הטיפול באירוע קבלה לחצי סגירה.

צריך לספק פונקציה מסוג זה לחבר המואצל OnPeerClose כדי שיעבד אירועים של סיום חיבור ב-endPoint.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.

OnTCPSendIdleChangedFunct

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

סוג הפונקציה של טיפול אותות שהשתנה ב-TCP SendIdle.

צריך לספק פונקציה מהסוג הזה לחבר ההקצאה OnTCPSendIdleChanged כדי לעבד את האירוע של ערוץ השליחה של מצב השינוי של TCPEndPoint בין 'לא פעיל' לבין 'לא פעיל'.

פרטים
פרמטרים
[in] endPoint
נקודת הקצה של TCP שמשויכת לאירוע.
[in] isIdle
הערך הוא True אם ערוץ השליחה של נקודת הקצה של TCP לא פעיל. אם לא, הערך הוא False.

מאפיינים ציבוריים

OnAcceptError

OnAcceptErrorFunct OnAcceptError

הענקת גישה לפונקציית הטיפול באירוע אישור החיבור של נקודת הקצה.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

הקצאה של פונקציית טיפול באירועים של יצירת חיבור בנקודת הקצה.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

הענקת גישה לפונקציה של טיפול באירועים סגורים בנקודת הקצה.

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

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

OnDataReceived

OnDataReceivedFunct OnDataReceived

הענקת גישה לפונקציית הטיפול באירוע טקסט של נקודת הקצה (endpoint).

OnDataSent

OnDataSentFunct OnDataSent

הקצאת פונקציית טיפול באירוע העברת טקסט של הודעות בנקודת הקצה (endpoint).

OnPeerClose

OnPeerCloseFunct OnPeerClose

הענקת גישה לפונקציית טיפול באירועים לחצי סגירה של נקודת הקצה.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

פונקציית הטיפול באירועים מאפשרת להאציל את האות של נקודת הקצה כשחוסר הפעילות של ערוץ השליחה של חיבור ה-TCP משתנה.

השכבות העליונות משתמשות בהגדרה הזו כדי לבצע פעולות מתאימות לגבי מסירת הנתונים שנשלחו בצורה מהימנה לעמית.

ReceiveEnabled

bool ReceiveEnabled

מתג בקרה שמציין אם האפליקציה מקבלת נתונים.

ארץ

enum nl::Inet::TCPEndPoint::@10 State

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

האובייקטים מאותחלים במצב "מוכן", ממשיכים למצבים הבאים בהתאם לפישוט המצבים של המכונה של מצב ההעברה של TCP.

הערה: ספירת המצב kBasisState_Closed ממופה לערך kState_Ready מסיבות היסטוריות של תאימות בינארית. השדה kState_Closed הקיים נועד לזהות בנפרד את ההבחנה בין "עדיין לא נפתח" לבין "נפתח עכשיו סגור בעבר" שהייתה קיימת קודם במצב kState_Ready ובמצב kState_Closed.

תפקידים ציבוריים

ביטול

void Abort(
  void
)

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

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

יש לאשר את קבלת טקסט ההודעה.

כדאי להשתמש בשיטה הזו כדי לאשר קבלה של כל הנתונים שהתקבלו או חלק מהם. הסמנטיקה התפעולית לא מוגדרת אם הערך len גדול מסך כל הנתונים שהתקבלו שלא אושרו.

פרטים
פרמטרים
[in] len
מספר הבייטים שצריך לאשר.
ערכים מוחזרים
INET_NO_ERROR
הצלחה: הכרה בקבלה.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
INET_ERROR_CONNECTION_ABORTED
חיבור ה-TCP לא פתוח יותר.

כריכה

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

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

מחייבת את נקודת הקצה (endpoint) עם כתובת ה-IP של ממשק הרשת שצוינה.

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

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

סגירה

INET_ERROR Close(
  void
)

הפעלת סגירה מלאה של TCP, כלומר, סיום תהליך השליחה והקבלה של TCP.

פרטים
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
other
שגיאת מערכת או שגיאה אחרת

קישור

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

יוצרים חיבור TCP.

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

פרטים
פרמטרים
[in] addr
כתובת ה-IP של היעד
[in] port
יציאת ה-TCP של היעד
[in] intf
אינדיקטור אופציונלי לממשק רשת
ערכים מוחזרים
INET_NO_ERROR
הצלחה: msg ממתין בתור לשידור.
INET_ERROR_NOT_IMPLEMENTED
הטמעת המערכת לא הושלמה.
INET_ERROR_WRONG_ADDRESS_TYPE
לכתובת היעד ולכתובת הממשק המקושר אין גרסאות פרוטוקול או סוג כתובת תואמות, או שכתובת היעד היא כתובת קישור מקומית של IPv6 ו-intf לא צוין.
other
שגיאת מערכת או שגיאה אחרת

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

השבת את האפשרות keep-alive ב-TCP.

TCPEndPoint::DisableKeepAlive

השבתת בדיקות keep-alive של TCP בחיבור ה-TCP המשויך.

פרטים
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
INET_ERROR_CONNECTION_ABORTED
חיבור ה-TCP לא פתוח יותר.
INET_ERROR_NOT_IMPLEMENTED
הטמעת המערכת לא הושלמה.
other
שגיאת מערכת או שגיאה אחרת

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

DisableReceive

void DisableReceive(
  void
)

השבתת הקבלה.

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

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

הפעל את האפשרות keep-alive ב-TCP.

TCPEndPoint::EnableKeepAlive

אפשר להתחיל בשידור אוטומטי של קטעי מעקב מסוג 'keep-alive' ב-TCP כל interval שניות. החיבור יבוטל באופן אוטומטי לאחר קבלת תגובה שלילית, או לאחר שליחה של timeoutCount קטעי בדיקה ללא תגובה חיובית.

פרטים
פרמטרים
[in] interval
בשניות בין בקשות לבדיקות.
[in] timeoutCount
מספר הגשושים שצריך לשלוח לפני הזמן הקצוב לתפוגה.
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
INET_ERROR_CONNECTION_ABORTED
חיבור ה-TCP לא פתוח יותר.
INET_ERROR_NOT_IMPLEMENTED
הטמעת המערכת לא הושלמה.
other
שגיאת מערכת או שגיאה אחרת

לקבלת פרטי המפרט, אפשר לעיין ב-RFC 1122, סעיף 4.2.3.6.

הפעלת בדיקות keep-alive של TCP בחיבור ה-TCP המשויך.

הערה: אפשר להפעיל את השיטה הזו רק כאשר נקודת הקצה נמצאת באחד מהמצבים המחוברים. ניתן להפעיל את השיטה הזו מספר פעמים כדי להתאים את מרווח הזמן של הודעת keep-alive או את ספירת הזמן הקצוב לתפוגה.

פרטים
פרמטרים
interval
המרווח (בשניות) בין חיישני keep-alive. הערך הזה קובע גם את הזמן שחלף בין שליחת חבילת הנתונים האחרונה שנשלחה לבין השידור של גשש ה-Keepalive הראשון.
timeoutCount
המספר המרבי של גשושים שלא אושרו לפני שהחיבור ייחשבו כנכשלים.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

אפשרNoDelay.

TCPEndPoint::EnableNoDelay.

השבת את אלגוריתם אגירת הנתונים של Nagle ב-TCP על ידי הגדרת אפשרויות השקע TCP_NOpause.

EnableReceive

void EnableReceive(
  void
)

הפעלת הקליטה.

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

חינם

void Free(
  void
)

הפעלה (או המשך) סגירה מלאה של ה-TCP, תוך התעלמות משגיאות.

האובייקט מוחזר למאגר החינמי, וכל שאר ההפניות של המשתמשים לא תקפות.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

חילוץ כתובת IP ויציאת TCP של נקודת קצה מקומית.

אין להשתמש בערכי מצביע של NULL לאף אחד מהארגומנטים.

פרטים
פרמטרים
[out] retAddr
כתובת ה-IP של נקודת הקצה המקומית.
[out] retPort
יציאת TCP של נקודת קצה מקומית.
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
INET_ERROR_CONNECTION_ABORTED
חיבור ה-TCP לא פתוח יותר.

GetPeerInfo

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

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

אין להשתמש בערכי מצביע של NULL לאף אחד מהארגומנטים.

פרטים
פרמטרים
[out] retAddr
כתובת ה-IP של נקודת הקצה המרוחקת.
[out] retPort
יציאת TCP של נקודת הקצה המרוחקת.
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
INET_ERROR_CONNECTION_ABORTED
חיבור ה-TCP לא פתוח יותר.

IsConnected

bool IsConnected(
  void
) const 

חלץ אם נוצר חיבור TCP.

האזנה

INET_ERROR Listen(
  uint16_t backlog
)

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

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

פרטים
פרמטרים
[in] backlog
עומק מקסימלי של תור אישור החיבור
ערכים מוחזרים
INET_NO_ERROR
הצלחה: נקודת הקצה מוכנה לקבלת הודעות.
INET_ERROR_INCORRECT_STATE
נקודת הקצה כבר מאזינה.

בפלטפורמות מסוימות, לא נעשה שימוש בארגומנט backlog (עומק התור קבוע, ניתן לקבל רק חיבור אחד בכל פעם).

במערכות LwIP, אין להפעיל את השיטה הזו לאחר שנעילת המקבץ LwIP כבר בוצעה

LogId

uint16_t LogId(
  void
)

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

פרטים
החזרות
מחזירה מזהה ייחודי אטום עבור יומני שימוש.

MarkActive

void MarkActive(
  void
)

שימו לב לפעילות, כלומר, לאפס את הטיימר ללא פעילות.

איפוס הטיימר ללא פעילות לאפס.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

מחלצים את האורך של נתוני הקבלה שלא אושרו.

פרטים
החזרות
מספר הבייטים בתור לקבלת הודעות שעדיין לא אושרו עם AckReceive(uint16_t len).

PendingSendLength

uint32_t PendingSendLength(
  void
)

מחלצים את אורך הנתונים שממתינים לשידור הראשון.

פרטים
החזרות
מספר הבייטים שלא הועברו בתור.

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

דחיפת טקסט ההודעה בחזרה לראש תור הקבלה.

רק גורמים מטפלים באירועים של קבלת נתונים יכולים להפעיל את השיטה הזו כדי להחזיר חלק מהנתונים שלא אושרו לתור הקבלה. הסמנטיקה התפעולית לא מוגדרת אם מבצע הקריאה החוזרת לא נמצא בטווח של הגורם המטפל באירועים של קליטת נתונים, data אינו Weave::System::PacketBuffer שסופק ל-handler או אם data לא מכיל את החלק הלא-מאושר שנותר אחרי הבייטים שאושרו על ידי קריאה קודמת ל-method AckReceive(uint16_t len).

פרטים
פרמטרים
[out] data
טקסט הודעה לדחיפה.
ערכים מוחזרים
INET_NO_ERROR
הצלחה: הכרה בקבלה.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.

שליחה

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

שליחת טקסט של הודעות בחיבור TCP.

השיטה Weave::System::PacketBuffer::Free מופעלת בארגומנט data, בין אם ההעברה הצליחה או נכשלה.

פרטים
פרמטרים
[out] data
טקסט ההודעה לשליחה.
[out] push
אם הערך הוא true, אז צריך לשלוח מיד, אחרת 'הבאים בתור'.
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

הגדרת זמן קצוב לתפוגה של חיבור כדי להצליח או להחזיר שגיאה.

פרטים
פרמטרים
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

הגדר את האפשרות TCP TCP_USER_PERIOD socket.

TCPEndPoint::SetUserTimeout.

כאשר הערך גדול מ-0, הוא מציין את משך הזמן המקסימלי באלפיות השנייה שבו הנתונים המשודרים עשויים להישאר ללא אישור לפני ש-TCP יאלץ סגירה של החיבור המתאים. אם ערך האפשרות מצוין כ-0, מערכת TCP תשתמש בברירת המחדל של המערכת. לפרטים נוספים, אפשר לעיין ב-RFC 5482.

פרטים
פרמטרים
[in] userTimeoutMillis
ערך הזמן הקצוב לתפוגה של משתמש ב-Tcp באלפיות השנייה.
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_NOT_IMPLEMENTED
הטמעת המערכת לא הושלמה.
other
שגיאת מערכת או שגיאה אחרת

הגדרת השקע של הזמן הקצוב לתפוגה של משתמש TCP.

כאשר הערך גדול מ-0, הוא מציין את משך הזמן המקסימלי באלפיות השנייה שבו הנתונים המשודרים עשויים להישאר ללא אישור לפני ש-TCP יאלץ סגירה של החיבור המתאים. אם ערך האפשרות מצוין 0, TCP ישתמש בברירת המחדל של המערכת. לפרטים נוספים, אפשר לעיין ב-RFC 5482.

הערה: אפשר להפעיל את השיטה הזו רק כאשר נקודת הקצה נמצאת באחד מהמצבים המחוברים. ניתן להפעיל את השיטה הזו מספר פעמים כדי להתאים את מרווח הזמן של הודעת keep-alive או את ספירת הזמן הקצוב לתפוגה.

כיבוי

INET_ERROR Shutdown(
  void
)

הפעלת חצי סגירה של TCP, כלומר, סיום השליחה.

פרטים
ערכים מוחזרים
INET_NO_ERROR
הצלחת: הכתובת והיציאה שחולצו.
INET_ERROR_INCORRECT_STATE
לא נוצר חיבור TCP.
other
שגיאת מערכת או שגיאה אחרת