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(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה שמופעלת כשסוגרים חיבור.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
פונקציה זו היא הקריאה החוזרת של האפליקציה שמופעלת לאחר השלמת הגדרת החיבור.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
פונקציה זו היא הקריאה החוזרת של האפליקציה שמופעלת כאשר מתקבלת הודעה באמצעות חיבור 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) של האפליקציה שמופעלת לאחר קבלת חבילת נתונים ממנהרה דרך החיבור של 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
[לקריאה בלבד] הערך הוא 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 באמצעות מזהה צומת או כתובת עמית של מחרוזת.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
התחברות לצומת Weave באמצעות מזהה צומת או כתובת עמית של מחרוזת.
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
יש להגדיר זמן קצוב לתפוגה כדי ש-Connect יצליח או יחזיר שגיאה.
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)

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

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

ConnectionCompleteFunct

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

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

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

MessageReceiveFunct

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

פונקציה זו היא הקריאה החוזרת של האפליקציה שמופעלת כאשר מתקבלת הודעה באמצעות חיבור 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) של האפליקציה שמופעלת לאחר קבלת חבילת נתונים ממנהרה דרך החיבור של 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

[לקריאה בלבד] הערך הוא 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, גם אם החיבור פתוח/פעיל בזמן הקריאה ל-method וגם אם לא. אם כתוצאה מכך מספר ההפניות יגיע לאפס, המשאבים שמשויכים לאובייקט החיבור ישוחררו. במקרה כזה, לאפליקציה לא יכולות להיות אינטראקציות נוספות עם האובייקט.

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

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

פרטים
פרמטרים
[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
שגיאות בשכבות הפנימיות שנוצרו על ידי פעולות החיבור של 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
שגיאות בשכבות הפנימיות שנוצרו על ידי פעולות החיבור של 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
שגיאות בשכבות הפנימיות שנוצרו על ידי פעולות החיבור של 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
שגיאות בשכבות הפנימיות שנוצרו על ידי פעולות החיבור של TCPEndPoint.

התחברות

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

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

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

התחברות

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

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

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

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

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

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

השיטה הזו לא תגרום שום פעולה אם קובץ ה-Savealive לא הופעל בחיבור.

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

DisableReceive

void DisableReceive(
  void
)

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

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

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

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

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

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

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

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

פרטים
מוחזר ערכים
WEAVE_NO_ERROR
על הפעלה מוצלחת של בדיקות מהירות של TCP בחיבור.
WEAVE_ERROR_NOT_IMPLEMENTED
אם הפונקציה הזו מופעלת עבור נקודת קצה (endpoint) לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם אובייקט WeaveConnection לא במצב הנכון לשליחת הודעות.
other
שגיאות בשכבה פנימית שקשורות לנקודת הקצה של 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
אם הפונקציה הזו מופעלת עבור נקודת קצה (endpoint) לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם אובייקט WeaveConnection לא במצב הנכון לשליחת הודעות.
other
שגיאות בשכבות הפנימיות שקשורות לאיפוס של נקודת הקצה ב-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
שגיאות בשכבות הפנימיות שקשורות לפעולות השליחה של נקודת הקצה הספציפית.

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

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

פרטים
פרמטרים
[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
אם הפונקציה הזו מופעלת עבור נקודת קצה (endpoint) לא תואמת (למשל, BLE) בשכבת הרשת.
WEAVE_ERROR_INCORRECT_STATE
אם אובייקט WeaveConnection לא במצב הנכון לשליחת הודעות.
other
שגיאות בשכבות הפנימיות שקשורות להגדרה של נקודת הקצה ב-TCP במסגרת הזמן הקצוב לתפוגה של משתמש TCP.

כיבוי

WEAVE_ERROR Shutdown(
  void
)

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

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

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