nl::Weave::WeaveConnection

#include <src/lib/core/WeaveMessageLayer.h>

ההגדרה של המחלקה Weave Connection.

סיכום

הוא מייצג חיבור TCP או BLE לצומת Weave אחר.

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

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
טיפוסים בני מנייה (enum)
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת כשסוגרים חיבור.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת לאחר השלמת הגדרת החיבור.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת כאשר מתקבלת הודעה באמצעות חיבור ל-Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
טיפוסים בני מנייה (enum)
סוג הרשת של אובייקט החיבור ל-Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
פונקציה זו היא הקריאה החוזרת של האפליקציה שמופעלת כשיש שגיאה בעת קבלת הודעת Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
טיפוסים בני מנייה (enum)
מצב אובייקט החיבור ל-Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת לאחר קבלת חבילת נתונים מסוג Tunneled דרך החיבור ל-Weave.

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

AppState
void *
מצביע לאובייקט המצב הספציפי לאפליקציה.
AuthMode
WeaveAuthMode
[לקריאה בלבד] מצב האימות המשמש ליצירת מפתחות ההצפנה המוגדרים כברירת מחדל לחיבור.
DefaultEncryptionType
uint8_t
סוג ברירת המחדל של הצפנה להודעות.
DefaultKeyId
uint16_t
מפתח ההצפנה המוגדר כברירת מחדל לשימוש בעת שליחת הודעות.
MessageLayer
[לקריאה בלבד] האובייקט WeaveMessageLayer המשויך.
NetworkType
uint8_t
[לקריאה בלבד] סוג הרשת של נקודת הקצה המשויכת.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[לקריאה בלבד] כתובת ה-IP של צומת העמיתים.
PeerNodeId
uint64_t
[לקריאה בלבד] מזהה הצומת של אפליקציה להשוואה.
PeerPort
uint16_t
[לקריאה בלבד] מספר היציאה של הצומת של השותף העמית.
ReceiveEnabled
bool
[READ ONLY] True אם הקבלה מופעלת. אחרת, false.
SendDestNodeId
bool
הערך הוא True אם כל ההודעות שנשלחות דרך החיבור הזה חייבות לכלול מזהה צומת יעד מקודד באופן מפורש. אחרת, הערך false.
SendSourceNodeId
bool
הערך הוא True אם כל ההודעות שנשלחות דרך החיבור הזה חייבות לכלול מזהה צומת מקור מקודד באופן מפורש. אחרת, הערך הוא false.
State
uint8_t
[לקריאה בלבד] מצב האובייקט WeaveConnection.

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

Abort(void)
void
מבצעת סגירה לא נעימה של WeaveConnection המבוססת על TCP או BLE, תוך מחיקת כל הנתונים שעשויים להיות בעיצומו של אותו אפליקציה או ממנה.
AddRef(void)
void
שמור הפניה לאובייקט WeaveConnection.
Close(void)
מבצעת סגירה חיננית ללא חסימה של WeaveConnection המבוססת על TCP או BLE, כדי להעביר את כל הנתונים היוצאים שנותרו לפני שהיא מודיעה למארח המרוחק שאיפסנו את החיבור.
Close(bool suppressCloseLog)
מבצעת סגירה חיננית ללא חסימה של WeaveConnection המבוססת על TCP או BLE, כדי להעביר את כל הנתונים היוצאים שנותרו לפני שהיא מודיעה למארח המרוחק שאיפסנו את החיבור.
Connect(uint64_t peerNodeId)
התחברות לצומת Weave באמצעות כתובת IP של מארג שנגזרת ממזהה הצומת שצוין.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
התחברות לצומת Weave באמצעות מזהה צומת או כתובת IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
התחברות לצומת Weave באמצעות מזהה צומת או כתובת IP בממשק ספציפי.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
התחברות לצומת Weave באמצעות מזהה צומת ו/או שם מארח למחרוזת.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
התחברות לצומת Weave באמצעות מזהה צומת ו/או כתובת קישור בין רשתות שכנות (peering) במחרוזת.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
התחברות לצומת Weave באמצעות מזהה צומת ו/או כתובת קישור בין רשתות שכנות (peering) במחרוזת.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
צריך להתחבר לצומת Weave באמצעות מזהה צומת ו/או רשימה של שם מארח ויציאות.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
צריך להתחבר לצומת Weave באמצעות מזהה צומת ו/או רשימה של שם מארח ויציאות.
DisableKeepAlive(void)
DisableReceive(void)
void
השבת קבלה באמצעות WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
אפשר קבלה באמצעות WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
קבלת פרטי כתובת ה-IP של העמית.
GetPeerDescription(char *buf, size_t bufSize) const
void
הפונקציה יוצרת מחרוזת שמתארת את הצומת של העמיתים שמשויכים לחיבור.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
הפחת את מספר ההפניות באובייקט WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
שליחה של הודעת Weave בחיבור קיים.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
פונקציה לשליחת חבילת מנהור דרך חיבור Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
הגדרת זמן קצוב לתפוגה של חיבור כדי להצליח או להחזיר שגיאה.
SetIdleTimeout(uint32_t timeoutMS)
להגדיר את הזמן הקצוב לתפוגה של חוסר פעילות בחיבור לשכבת הרשת הבסיסית.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
מבצע פעולת שליחה חיננית של TCP, כדי להבטיח שכל הנתונים היוצאים נשלחו והתקבלו על ידי מחסנית ה-TCP של העמית.

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

@58

 @58
תכונות
kGetPeerDescription_MaxLength

אורך מחרוזת מקסימלי (כולל תו NUL) המוחזר על ידי GetPeerDescription().

ConnectionClosedFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

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

פרטים
פרמטרים
[in] con
מצביע לאובייקט WeaveConnection.
[in] conErr
שגיאת WEAVE_ERROR אירעה כשהחיבור נסגר.

ConnectionCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת לאחר השלמת הגדרת החיבור.

פרטים
פרמטרים
[in] con
מצביע לאובייקט WeaveConnection.
[in] conErr
שגיאת WEAVE_ERROR אירעה במהלך הגדרת החיבור.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת כאשר מתקבלת הודעה באמצעות חיבור ל-Weave.

פרטים
פרמטרים
[in] con
מצביע לאובייקט WeaveConnection.
[in] msgInfo
מצביע למבנה של WeaveMessageInfo שמכיל מידע על ההודעה.
[in] msgBuf
מצביע אל האובייקט PacketBuffer שבו ההודעה מכילה את ההודעה.

NetworkType

 NetworkType

סוג הרשת של אובייקט החיבור ל-Weave.

תכונות
kNetworkType_BLE

סוג רשת BLE.

kNetworkType_IP

סוג רשת TCP/IP.

kNetworkType_Unassigned

סוג הרשת לא הוקצה.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

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

פרטים
פרמטרים
[in] con
מצביע לאובייקט WeaveConnection.
[in] err
השגיאה WEAVE_ERROR אירעה בעת קבלת נתונים בחיבור.

ארץ

 State

מצב אובייקט החיבור ל-Weave.

תכונות
kState_Closed

מצב כשהחיבור ייסגר.

kState_Connected

צריך לציין מתי נוצר החיבור.

kState_Connecting

המצב כשמתבצע ניסיון ההתחברות.

kState_EstablishingSession

ציין מתי נוצר סשן מאובטח.

kState_ReadyToConnect

המצב לאחר אתחול החיבור ל-Weave.

kState_Resolving

המצב שבו מתבצע פענוח של שם ה-DNS.

kState_SendShutdown

מצב כשהחיבור מתנתק.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שמופעלת לאחר קבלת חבילת נתונים מסוג Tunneled דרך החיבור ל-Weave.

פרטים
פרמטרים
[in] con
מצביע לאובייקט WeaveConnection.
[in] msgInfo
מצביע אל האובייקט WeaveMessageInfo.
[in] msgBuf
מצביע על כך לאובייקט PacketBuffer שמכיל את החבילה המנותבת שהתקבלה.

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

AppState

void * AppState

מצביע לאובייקט המצב הספציפי לאפליקציה.

AuthMode

WeaveAuthMode AuthMode

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

DefaultEncryptionType

uint8_t DefaultEncryptionType

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

DefaultKeyId

uint16_t DefaultKeyId

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

MessageLayer

WeaveMessageLayer * MessageLayer

[לקריאה בלבד] האובייקט WeaveMessageLayer המשויך.

NetworkType

uint8_t NetworkType

[לקריאה בלבד] סוג הרשת של נקודת הקצה המשויכת.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[לקריאה בלבד] כתובת ה-IP של צומת העמיתים.

PeerNodeId

uint64_t PeerNodeId

[לקריאה בלבד] מזהה הצומת של אפליקציה להשוואה.

PeerPort

uint16_t PeerPort

[לקריאה בלבד] מספר היציאה של הצומת של השותף העמית.

ReceiveEnabled

bool ReceiveEnabled

[READ ONLY] True אם הקבלה מופעלת. אחרת, false.

SendDestNodeId

bool SendDestNodeId

הערך הוא True אם כל ההודעות שנשלחות דרך החיבור הזה חייבות לכלול מזהה צומת יעד מקודד באופן מפורש. אחרת, הערך false.

SendSourceNodeId

bool SendSourceNodeId

הערך הוא True אם כל ההודעות שנשלחות דרך החיבור הזה חייבות לכלול מזהה צומת מקור מקודד באופן מפורש. אחרת, הערך הוא false.

ארץ

uint8_t State

[לקריאה בלבד] מצב האובייקט WeaveConnection.

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

ביטול

void Abort(
  void
)

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

קריאה ל-Abort() מפסיקה מיד את החיבור הבסיסי. לאחר מכן, לא תהיה יותר אפשרות להשתמש באובייקט WeaveConnection לתקשורת נוספת.

קריאה ל-Abort() מפחיתה את מספר ההפניות שמשויכות לאובייקט WeaveConnection, גם אם החיבור פתוח/פעיל במועד הפעלת השיטה וגם אם לא. אם כתוצאה מכך מספר ההפניות מגיע לאפס, המשאבים המשויכים לאובייקט החיבור יתפנו. במקרה כזה, אסור לאפליקציה לבצע אינטראקציות נוספות עם האובייקט.

ראו גם:
Shutdown(), Abort(), AddRef() ו-Release().

AddRef

void AddRef(
  void
)

שמור הפניה לאובייקט WeaveConnection.

השיטה AddRef() מגדילה את מספר ההפניות שמשויכות לאובייקט WeaveConnection. בכל קריאה ל-AddRef(), האפליקציה אחראית לביצוע קריאה תואמת ל-Release(), ל-Close() או ל-Abort().

סגירה

WEAVE_ERROR Close(
  void
)

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

השיטה הזו לא מספקת ערובה משמעותית לכך שהודעה יוצאת שלא אושרה ברמת פרוטוקול האפליקציה התקבלה על ידי הצד המרוחק. גם ל-TCP וגם ל-BLE, מחסנית הפרוטוקולים הבסיסית מאפשרת לספק את הנתונים היוצאים שבהמתנה לפני איפוס החיבור. עבור TCP, יש להשתמש ב-Shutdown() לפני Close() אם נדרש אישור קבלה של הודעה משכבת תעבורת הנתונים לפני סגירת החיבור. חיבורי BLE לא מספקים אפשרות מקבילה ל-Shutdown().

בחיבורים מבוססי BLE, Close() סוגר את WeaveConnection וחוזר באופן מיידי, אבל עלול לגרום לאובייקט BLEEndPoint הבסיסי להשתהות עד שכל הנתונים היוצאים נשלחים. זוהי תופעת לוואי של הטמעת פרוטוקול ההעברה של Weave over BLE שקיימת ב-Weave BleLayer.

לאחר הקריאה ל-Close(), לא ניתן עוד להשתמש באובייקט WeaveConnection לצורך תקשורת נוספת.

קריאה ל-Close() מקטינה את מספר ההפניות המשויכת לאובייקט WeaveConnection, בין אם החיבור פתוח/פעיל במועד הפעלת השיטה ובין אם לא. אם כתוצאה מכך מספר ההפניות מגיע לאפס, המשאבים המשויכים לאובייקט החיבור יתפנו. במקרה כזה, אסור לאפליקציה לבצע אינטראקציות נוספות עם האובייקט.

פרטים
החזרות
WEAVE_NO_ERROR ללא תנאי.
ראו גם:
Shutdown(), Abort(), AddRef() ו-Release().

סגירה

WEAVE_ERROR Close(
  bool suppressCloseLog
)

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

השיטה הזו לא מספקת ערובה משמעותית לכך שהודעה יוצאת שלא אושרה ברמת פרוטוקול האפליקציה התקבלה על ידי הצד המרוחק. גם ל-TCP וגם ל-BLE, מחסנית הפרוטוקולים הבסיסית מאפשרת לספק את הנתונים היוצאים שבהמתנה לפני איפוס החיבור. עבור TCP, יש להשתמש ב-Shutdown() לפני Close() אם נדרש אישור קבלה של הודעה משכבת תעבורת הנתונים לפני סגירת החיבור. חיבורי BLE לא מספקים אפשרות מקבילה ל-Shutdown().

בחיבורים מבוססי BLE, Close() סוגר את WeaveConnection וחוזר באופן מיידי, אבל עלול לגרום לאובייקט BLEEndPoint הבסיסי להשתהות עד שכל הנתונים היוצאים נשלחים. זוהי תופעת לוואי של הטמעת פרוטוקול ההעברה של Weave over BLE שקיימת ב-Weave BleLayer.

לאחר הקריאה ל-Close(), לא ניתן עוד להשתמש באובייקט WeaveConnection לצורך תקשורת נוספת.

קריאה ל-Close() מקטינה את מספר ההפניות המשויכת לאובייקט WeaveConnection, בין אם החיבור פתוח/פעיל במועד הפעלת השיטה ובין אם לא. אם כתוצאה מכך מספר ההפניות מגיע לאפס, המשאבים המשויכים לאובייקט החיבור יתפנו. במקרה כזה, אסור לאפליקציה לבצע אינטראקציות נוספות עם האובייקט.

פרטים
פרמטרים
[in] suppressCloseLog
TRUE אם יש צורך להסתיר את היומנים, או FALSE אם לא.
החזרות
WEAVE_NO_ERROR ללא תנאי.
ראו גם:
Shutdown(), Abort(), AddRef() ו-Release().

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

התחברות לצומת Weave באמצעות כתובת IP של מארג שנגזרת ממזהה הצומת שצוין.

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של האפליקציה להשוואה.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

התחברות לצומת Weave באמצעות מזהה צומת או כתובת IP.

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של העמית, kNodeIdNotSpecified או 0, אם לא ידוע.
[in] peerAddr
כתובת ה-IP של האפליקציה להשוואה היא IPAddress::Any אם היא אינה ידועה.
[in] peerPort
היציאה האופציונלית של העמית, ברירת המחדל היא WEAVE_PORT.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

התחברות לצומת Weave באמצעות מזהה צומת או כתובת IP בממשק ספציפי.

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של העמית, kNodeIdNotSpecified או 0, אם לא ידוע.
[in] authMode
מצב האימות הרצוי של האפליקציה להשוואה. יש תמיכה רק במצבים CASE, PASE ומצב לא מאומת.
[in] peerAddr
כתובת ה-IP של האפליקציה להשוואה היא IPAddress::Any אם היא אינה ידועה.
[in] peerPort
היציאה האופציונלית של העמית, ברירת המחדל היא WEAVE_PORT.
[in] intf
הממשק האופציונלי לחיבור לצומת העמית, ברירת המחדל היא INET_NULL_INTERFACEID.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

התחברות לצומת Weave באמצעות מזהה צומת ו/או שם מארח למחרוזת.

אם הפרמטר הזה סופק, peerAddr יכול להיות כל אחד מהערכים הבאים:


:

:

[]:

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של העמית, kNodeIdNotSpecified או 0, אם לא ידוע.
[in] authMode
מצב האימות הרצוי של האפליקציה להשוואה. יש תמיכה רק במצבים CASE, PASE ומצב לא מאומת.
[in] peerAddr
הכתובת או שם המארח של העמית כמחרוזת C עם סגירה של NULL.
[in] defaultPort
יציאת ברירת המחדל האופציונלית שתשמש עבור החיבור אם לא צוינה במחרוזת peerAddr.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

התחברות לצומת Weave באמצעות מזהה צומת ו/או כתובת קישור בין רשתות שכנות (peering) במחרוזת.

אם הפרמטר הזה סופק, peerAddr יכול להיות כל אחד מהערכים הבאים:


:

:

[]:

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של העמית, kNodeIdNotSpecified או 0, אם לא ידוע.
[in] authMode
מצב האימות הרצוי של האפליקציה להשוואה. יש תמיכה רק במצבים CASE, PASE ומצב לא מאומת.
[in] peerAddr
הכתובת או שם המארח של העמית כמחרוזת C שאינה מסתיים ב-NULL.
[in] peerAddrLen
האורך של מחרוזת peerAddr.
[in] defaultPort
יציאת ברירת המחדל האופציונלית שתשמש עבור החיבור אם לא צוינה במחרוזת peerAddr.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

התחברות לצומת Weave באמצעות מזהה צומת ו/או כתובת קישור בין רשתות שכנות (peering) במחרוזת.

אם הפרמטר הזה סופק, peerAddr יכול להיות כל אחד מהערכים הבאים:


:

:

[]:

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של העמית, kNodeIdNotSpecified או 0, אם לא ידוע.
[in] authMode
מצב האימות הרצוי של האפליקציה להשוואה. יש תמיכה רק במצבים CASE, PASE ומצב לא מאומת.
[in] peerAddr
הכתובת או שם המארח של העמית כמחרוזת C שאינה מסתיים ב-NULL.
[in] peerAddrLen
האורך של מחרוזת peerAddr.
[in] dnsOptions
ערך מספר שלם השולט באופן שבו מתבצע פענוח השם של המארח. הערך צריך להיות OR של ערך אחד או יותר מתוך המספור #::nl::Inet::DNSOptions.
[in] defaultPort
יציאת ברירת המחדל האופציונלית שתשמש עבור החיבור אם לא צוינה במחרוזת peerAddr.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

צריך להתחבר לצומת Weave באמצעות מזהה צומת ו/או רשימה של שם מארח ויציאות.

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של האפליקציה להשוואה.
[in] authMode
מצב האימות המשמש לחיבור.
[in] hostPortList
רשימת שמות המארחים והיציאות.
[in] intf
הממשק האופציונלי לחיבור לצומת העמית, ברירת המחדל היא INET_NULL_INTERFACEID.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

קישור

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

צריך להתחבר לצומת Weave באמצעות מזהה צומת ו/או רשימה של שם מארח ויציאות.

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של האפליקציה להשוואה.
[in] authMode
מצב האימות המשמש לחיבור.
[in] hostPortList
רשימת שמות המארחים והיציאות.
[in] dnsOptions
ערך מספר שלם השולט באופן שבו מתבצע פענוח השם של המארח. הערך צריך להיות OR של ערך אחד או יותר מתוך המספור #::nl::Inet::DNSOptions.
[in] intf
הממשק האופציונלי לחיבור לצומת העמית, ברירת המחדל היא INET_NULL_INTERFACEID.
ערכים מוחזרים
WEAVE_NO_ERROR
על התחלה מוצלחת של החיבור לעמית.
WEAVE_ERROR_INCORRECT_STATE
אם מצב WeaveConnection שגוי.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
אם מצב האימות המבוקש לא נתמך.
WEAVE_ERROR_INVALID_ADDRESS
אם לא ניתן להסיק את כתובת היעד ממזהה הצומת.
other
שגיאות בשכבת Inet שנוצרו על ידי פעולות חיבור של TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

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

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

השיטה הזו לא עושה דבר אם לא הופעלה האפשרות keep-alives בחיבור.

פרטים
ערכים מוחזרים
WEAVE_NO_ERROR
אחרי השבתה מוצלחת של בדיקות keep-alive של TCP בחיבור.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לשליחת הודעות.
other
שגיאות בשכבת Inet שקשורות לנקודת הקצה של TCP מאפשרות פעולה של הודעת keep-alive.

DisableReceive

void DisableReceive(
  void
)

השבת קבלה באמצעות WeaveConnection.

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

מידע נוסף מופיע גם:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

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

הערה: ניתן לקרוא לשיטה זו רק בחיבור Weave שמגובה בחיבור TCP. -ניתן לקרוא לשיטה הזו רק כשהחיבור במצב שמאפשר שליחה.

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

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

פרטים
ערכים מוחזרים
WEAVE_NO_ERROR
לאחר הפעלה מוצלחת של בדיקות keep-alive של TCP בחיבור.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לשליחת הודעות.
other
שגיאות בשכבת Inet שקשורות לנקודת הקצה של TCP מאפשרות פעולה של הודעת keep-alive.

EnableReceive

void EnableReceive(
  void
)

אפשר קבלה באמצעות WeaveConnection.

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

למידע נוסף:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

קבלת פרטי כתובת ה-IP של העמית.

פרטים
פרמטרים
[out] addrInfo
הפניה לאובייקט IPPacketInfo.
ערכים מוחזרים
WEAVE_NO_ERROR
בהצלחה.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה (endpoint) לא תואמת (למשל, BLE) בשכבת הרשת.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

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

פרטים
פרמטרים
[in] buf
מצביע למאגר נתונים זמני שבו יש לכתוב את המחרוזת. המאגר הזמני צריך להיות גדול לפחות מ-kGetPeerDescription_MaxLength. אם מוקצה מאגר נתונים זמני קטן יותר, המחרוזת תיחתך להתאמה. הפלט יכלול תו סיום NUL בכל המקרים.
[in] bufSize
גודל מאגר הנתונים הזמני שאליו מפנה מאגר הנתונים הזמני.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

פריט תוכן

void Release(
  void
)

הפחת את מספר ההפניות באובייקט WeaveConnection.

השיטה Release() מפחיתה את מספר ההפניות שמשויכות לאובייקט WeaveConnection. אם כתוצאה מכך מספר ההפניות מגיע לאפס, החיבור נסגר ואובייקט החיבור משוחרר. במקרה כזה, אסור לאפליקציה לבצע אינטראקציות נוספות עם האובייקט.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

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

הערה: ניתן לקרוא לשיטה זו רק בחיבור Weave שמגובה בחיבור TCP. -ניתן לקרוא לשיטה הזו רק כשהחיבור במצב שמאפשר שליחה.

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

פרטים
ערכים מוחזרים
WEAVE_NO_ERROR
באיפוס מוצלח של הזמן הקצוב לתפוגה של משתמש TCP בחיבור.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לשליחת הודעות.
other
שגיאות בשכבת Inet הקשורות לאיפוס נקודת הקצה של TCP של הזמן הקצוב לתפוגה של משתמש TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

שליחה של הודעת Weave בחיבור קיים.

פרטים
פרמטרים
[in] msgInfo
מצביע לאובייקט WeaveMessageInfo.
[in] msgBuf
מצביע אל האובייקט PacketBuffer שבו נמצאת החבילה לשליחה.
ערכים מוחזרים
WEAVE_NO_ERROR
שליחת ההודעה למטה לשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לשליחת הודעות.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
אם המזהה של צומת היעד לא צוין.
WEAVE_ERROR_SENDING_BLOCKED
אם ההודעה ארוכה מדי לשליחה.
other
שגיאות בשכבת ה-Inet שקשורות לפעולות השליחה הספציפיות של נקודת הקצה.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

פונקציה לשליחת חבילת מנהור דרך חיבור Weave.

לשלוח הודעת Weave מנהרת בחיבור קיים.

פרטים
פרמטרים
[in] msgInfo
מצביע לאובייקט WeaveMessageInfo.
[in] msgBuf
מצביע אל האובייקט PacketBuffer שבו נמצאת החבילה לשליחה.
ערכים מוחזרים
WEAVE_NO_ERROR
שליחת ההודעה למטה לשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לשליחת הודעות.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
אם המזהה של צומת היעד לא צוין.
WEAVE_ERROR_SENDING_BLOCKED
אם ההודעה ארוכה מדי לשליחה.
other
שגיאות בשכבת ה-Inet שקשורות לפעולות השליחה הספציפיות של נקודת הקצה.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

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

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

פרטים
פרמטרים
[in] timeoutMS
את הזמן הקצוב לתפוגה באלפיות שנייה.
ערכים מוחזרים
WEAVE_NO_ERROR
לאחר הגדרה מוצלחת של הזמן הקצוב לתפוגה של חוסר פעילות עבור החיבור.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לקבלת הודעות.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

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

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

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

הערה: ניתן לקרוא לשיטה זו רק בחיבור Weave שמגובה בחיבור TCP. -ניתן לקרוא לשיטה הזו רק כשהחיבור במצב שמאפשר שליחה.

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

פרטים
ערכים מוחזרים
WEAVE_NO_ERROR
לאחר הגדרה מוצלחת של הזמן הקצוב לתפוגה של משתמש TCP בחיבור.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection אינו במצב הנכון לשליחת הודעות.
other
שגיאות בשכבת Inet הקשורות להגדרת נקודת הקצה של TCP של הזמן הקצוב לתפוגה של משתמש TCP.

כיבוי

WEAVE_ERROR Shutdown(
  void
)

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

ברוב הטמעות ה-TCP (אך לא בכולן), קבלת שגיאת שליחה עלולה גם לגרום למארח המרוחק לסגור את הצד של החיבור, וכתוצאה מכך החיבור עשוי להיסגר. קריאה נוספת ל-Close() תביא לסיום של WeaveConnection.

פרטים
ערכים מוחזרים
WEAVE_NO_ERROR
לאחר כיבוי מוצלח של חיבור ה-tcp.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם האובייקט WeaveConnection לא נמצא במצב הנכון לפני התחלת תהליך הכיבוי.
other
שגיאות בשכבת ה-Inet שקשורות לפעולות הספציפיות של הסגירה של נקודת הקצה.
פרטים נוספים זמינים גם:
Close() ו-Abort().