nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

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

סיכום

השכבה של Nest Inet כוללת שיטות לאינטראקציה עם נקודות קצה להעברת 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(*
סוג פונקציית הטיפול באות SendIdle ב-TCP.

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

OnAcceptError
משתמש שקיבל הרשאה לניהול אירועים של אישור החיבור של נקודת הקצה (endpoint).
OnConnectComplete
משתמש שקיבל הרשאה לטיפול באירועים של יצירת החיבור של נקודת הקצה (endpoint).
OnConnectionClosed
משתמש שקיבל הרשאה לניהול אירועים קרובים של נקודת הקצה
OnConnectionReceived
החיבור של נקודת הקצה מקבל הרשאה של פונקציית הטיפול באירועים.
OnDataReceived
משתמש שקיבל הרשאה לטיפול באירוע קליטת טקסט של הודעה בנקודת הקצה (endpoint).
OnDataSent
משתמש עם הרשאה לניהול אירועי העברת טקסט של הודעה בנקודת הקצה (endpoint)
OnPeerClose
משתמש עם הרשאה לניהול אירועים מקבל הגישה לאירועים חצי-סגורה של נקודת הקצה.
OnTCPSendIdleChanged
הפונקציה לטיפול באירועים מאצילת את נקודת הקצה (endpoint) האותות כשחוסר הפעילות של חיבור ה-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 מלא, כלומר, סיום עם 'שליחה' ו'קבלה'.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
התחלת חיבור TCP.
DisableKeepAlive(void)
השבתת התכונה 'Keep-alive' של TCP כאפשרות.
DisableReceive(void)
void
השבתת קליטה.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
הפעלת ה-TCP של 'שמירה בשידור חי' כאפשרות.
EnableNoDelay(void)
EnableNoDelay.
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
יש להגדיר זמן קצוב לתפוגה כדי ש-Connect יצליח או יחזיר שגיאה.
SetUserTimeout(uint32_t userTimeoutMillis)
מגדירים את האפשרות של שקע TCP TCP_USER_TIMEOUT של TCP.
Shutdown(void)
הפעלת TCP למחצה, במילים אחרות, סיום השליחה.

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

@10

 @10

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

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

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

מאפיינים
kState_Bound

נקודת הקצה קשורה, אבל לא להאזנה.

kState_Closed

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

kState_Closing

נקודת הקצה נסגרת באופן דו-כיווני.

kState_Connected

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

kState_Connecting

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

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
נקודת הקצה (endpoint) של ה-TCP שמשויכת לאירוע.
[in] err
הסיבה לשגיאה.

OnConnectCompleteFunct

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

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

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

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

OnConnectionClosedFunct

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

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

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

פרטים
פרמטרים
[in] endPoint
נקודת הקצה (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
נקודת הקצה (endpoint) של ה-TCP שמשויכת לאירוע.
[in] data
הנתונים שהתקבלו.

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

OnDataSentFunct

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

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

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

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

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

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

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

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

OnTCPSendIdleChangedFunct

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

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

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

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

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

OnAcceptError

OnAcceptErrorFunct OnAcceptError

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

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

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

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

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

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

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

OnDataReceived

OnDataReceivedFunct OnDataReceived

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

OnDataSent

OnDataSentFunct OnDataSent

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

OnPeerClose

OnPeerCloseFunct OnPeerClose

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

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

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

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

ReceiveEnabled

bool ReceiveEnabled

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

מדינה

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

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

האובייקטים מאותחלים במצב Ready (מוכן) עוברים למצבים הבאים, כדי לפשט את המצבים של מכונת מצב התעבורה של 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 של הממשק.

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

פרטים
פרמטרים
[in] addrType
גרסת הפרוטוקול של כתובת ה-IP
[in] addr
כתובת ה-IP (חייבת להיות כתובת ממשק)
[in] port
יציאת ה-TCP
[in] reuseAddr
אפשרות לשתף קישור עם נקודות קצה אחרות
מוחזר ערכים
INET_NO_ERROR
הצלחה: נקודת קצה קשורה לכתובת
INET_ERROR_INCORRECT_STATE
נקודת הקצה קשורה בעבר
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 מלא, כלומר, סיום עם 'שליחה' ו'קבלה'.

פרטים
מוחזר ערכים
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.

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

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

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

DisableReceive

void DisableReceive(
  void
)

השבתת קליטה.

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

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

הפעלת ה-TCP של 'שמירה בשידור חי' כאפשרות.

TCPEndPoint::EnableKeepAlive.

התחלה אוטומטית של השידור החי של 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.

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

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

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

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint::EnableNoDelay

משביתים את האלגוריתם למאגר הנתונים של nagle ב-TCP על ידי הגדרת אפשרויות השקעים TCP_NODELAY.

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
)

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

אפשר להפעיל את השיטה הזו רק על ידי גורמים מטפלים באירועים של קליטת נתונים, כדי להחזיר חלק מהנתונים שלא אושרו לתור לקבלת הנתונים. הסמנטיקה התפעולית לא מוגדרת אם מבצע הקריאה החוזרת נמצא מחוץ להיקף של handler של אירוע קליטת נתונים, 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.

ה-method 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
)

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

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

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

מגדירים את האפשרות של שקע TCP TCP_USER_TIMEOUT של TCP.

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.

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

כיבוי

INET_ERROR Shutdown(
  void
)

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

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