nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
ההגדרה של המחלקה WeaveMessageLayer, שמנהלת את התקשורת עם צומתי Weave אחרים.
סיכום
היא משתמשת באחת מכמה נקודות קצה של InetLayer כדי ליצור ערוץ תקשורת עם צומתי Weave אחרים.
בונים והורסים |
|
---|---|
WeaveMessageLayer(void)
בונה שכבת ההודעה של Weave.
|
סוגים ציבוריים |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת בשכבה הגבוהה יותר לדיווח על שגיאה במהלך טיפול בחיבור TCP נכנס. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
הפונקציה מופעלת כדי להסיר קריאה חוזרת (callback). |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת בשכבה הגבוהה יותר לטיפול בחיבור TCP נכנס. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה לדיווח על שינוי בפעילות בשכבת ההודעות. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת (callback) בשכבה הגבוהה יותר שמופעלת כשמתקבלת הודעת Weave באמצעות UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת (callback) בשכבה הגבוהה יותר, שמופעלת במקרה של שגיאה. |
State{
|
טיפוסים בני מנייה (enum) המצב של WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת (callback) בשכבה הגבוהה יותר, שמופעלת כשמתקבלות מנות שעברו מנהור במנהרת UDP מקומית. |
מאפיינים ציבוריים |
|
---|---|
AppState
|
void *
מצביע לאובייקט מצב ספציפי לאפליקציה.
|
ExchangeMgr
|
[לקריאה בלבד] האובייקט WeaveExchangeManager המשויך.
|
FabricState
|
[לקריאה בלבד] האובייקט WeaveFabricState המשויך.
|
IncomingConIdleTimeout
|
uint32_t
ברירת המחדל של הזמן הקצוב לתפוגה שהוגדר לחוסר פעילות (באלפיות שנייה) עבור חיבורים נכנסים.
|
Inet
|
InetLayer *
[לקריאה בלבד] אובייקט InetLayer המשויך.
|
IsListening
|
bool
[לקריאה בלבד] הערך True אם מאזינים להודעות/חיבורים נכנסים. אחרת, צריך להזין false.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[לקריאה בלבד] האובייקט WeaveSecurityManager המשויך.
|
State
|
uint8_t
[לקריאה בלבד] המצב של האובייקט WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
לשימוש פנימי ולניפוי באגים בלבד. לאחר ההגדרה, ההודעה WeaveMessageLayer מסירה את ההודעה ומחזירה אותה.
|
תפקידים ציבוריים |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
סוגרים את כל נקודות הקצה הפתוחות של TCP ו-UDP.
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
יצירת WeaveConnectionTunnel על ידי צימוד של שני WeaveConnections מוגדרים.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
פענוח כותרת של שכבת הודעת Weave מהודעת Weave שהתקבלה.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
קידוד כותרת WeaveMessageLayer לתוך PacketBuffer.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
קידוד כותרת של שכבת הודעה ב-Weave לתוך PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
צריך לבדוק אם צריך לשלוח החלפות UDP ל-Weave באופן מקומי מיציאת מקור UDP זמנית.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
קבל את מספר WeaveConnections בשימוש ואת גודל המאגר.
|
IPv4ListenEnabled(void) const
|
bool
בודקים אם WeaveMessageLayer מוגדר להאזנה להודעות נכנסות ב-IPv4.
|
IPv6ListenEnabled(void) const
|
bool
בודקים אם WeaveMessageLayer מוגדר להאזנה להודעות נכנסות ב-IPv4.
|
Init(InitContext *context)
|
מאתחלים את אובייקט שכבת ההודעה של Weave.
|
IsBoundToLocalIPv4Address(void) const
|
bool
בודקים אם ה-WeaveMessageLayer מקושר לכתובת IPv4 מקומית.
|
IsBoundToLocalIPv6Address(void) const
|
bool
בודקים אם ה-WeaveMessageLayer מקושר לכתובת IPv6 מקומית.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
יוצרים אובייקט WeaveConnection ממאגר.
|
NewConnectionTunnel(void)
|
יצירת אובייקט WeaveConnectionTunnel חדש ממאגר.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
רענון נקודות הקצה של InetLayer בהתאם למצב הנוכחי של ממשקי הרשת של המערכת.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
יש לשלוח הודעת Weave באמצעות נקודת הקצה מסוג Inetlayer UDP לאחר הקידוד.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
יש לשלוח הודעת Weave באמצעות נקודת הקצה מסוג Inetlayer UDP לאחר הקידוד.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
יש לשלוח הודעת Weave באמצעות נקודת הקצה מסוג Inetlayer UDP לאחר הקידוד.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
פונקציה לשליחת חבילה של מנהור במנהרת UDP מקומית.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
מגדירים handler של אפליקציה שיופעל בכל פעם שהפעילות של שכבת ההודעה משתנה.
|
SetTCPListenEnabled(bool val)
|
void
הפעלה או השבתה של האזנה לחיבורי TCP נכנסים ב-WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
מפעילים או משביתים האזנה להודעות UDP נכנסות ב-WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
משביתים את WeaveMessageLayer.
|
TCPListenEnabled(void) const
|
bool
בודקים אם WeaveMessageLayer מוגדר להאזין לחיבורי TCP נכנסים.
|
UDPListenEnabled(void) const
|
bool
בודקים אם WeaveMessageLayer מוגדר להאזנה להודעות UDP נכנסות.
|
UnsecuredListenEnabled(void) const
|
bool
הפעלה או השבתה של התחלת ההפעלה של חילופי UDP ל-Weave מיציאת מקור UDP זמנית.
|
פונקציות סטטיות ציבוריות |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
מקבלים את הגודל המקסימלי של המטען הייעודי (payload) ב-Weave, עבור הגדרת ההודעה ו-PacketBuffer שסופקו.
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
יוצרת מחרוזת שמתארת צומת של קישור בין רשתות שכנות (peering) ואת הכתובת / פרטי החיבור המשויכים אליו.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
הפונקציה יוצרת מחרוזת שמתארת צומת של אפליקציה להשוואה על סמך המידע שמשויך להודעה שהתקבלה מהעמיתים.
|
מחלקות |
|
---|---|
nl:: |
ההגדרה של המחלקה InitContext. |
סוגים ציבוריים
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
הפונקציה הזו היא הקריאה החוזרת בשכבה הגבוהה יותר לדיווח על שגיאה במהלך טיפול בחיבור TCP נכנס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
הפונקציה מופעלת כדי להסיר קריאה חוזרת (callback).
פרטים | |||
---|---|---|---|
פרמטרים |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
הפונקציה הזו היא הקריאה החוזרת בשכבה הגבוהה יותר לטיפול בחיבור TCP נכנס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה לדיווח על שינוי בפעילות בשכבת ההודעות.
שכבת ההודעות נחשבת לפעילה אם יש לפחות החלפה פתוחה אחת או בקשה בהמתנה לסנכרון של הודעות נגדיות.
פרטים | |||
---|---|---|---|
פרמטרים |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
הפונקציה הזו היא הקריאה החוזרת (callback) בשכבה הגבוהה יותר שמופעלת כשמתקבלת הודעת Weave באמצעות UDP.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
הפונקציה הזו היא הקריאה החוזרת (callback) בשכבה הגבוהה יותר, שמופעלת במקרה של שגיאה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
ארץ
State
המצב של WeaveMessageLayer.
תכונות | |
---|---|
kState_Initialized
|
מצב כשה-WeaveMessageLayer מופעל. |
kState_Initializing
|
צריך לציין מתי WeaveMessageLayer נמצא בתהליך אתחול. |
kState_NotInitialized
|
מצב כשה-WeaveMessageLayer לא מאותחל. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
הפונקציה הזו היא הקריאה החוזרת (callback) בשכבה הגבוהה יותר, שמופעלת כשמתקבלות מנות שעברו מנהור במנהרת UDP מקומית.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
מאפיינים ציבוריים
AppState
void * AppState
מצביע לאובייקט מצב ספציפי לאפליקציה.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
ברירת המחדל של הזמן הקצוב לתפוגה שהוגדר לחוסר פעילות (באלפיות שנייה) עבור חיבורים נכנסים.
אינט
InetLayer * Inet
[לקריאה בלבד] אובייקט InetLayer המשויך.
IsListening
bool IsListening
[לקריאה בלבד] הערך True אם מאזינים להודעות/חיבורים נכנסים. אחרת, צריך להזין false.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
לשימוש פנימי ולניפוי באגים בלבד. לאחר ההגדרה, ההודעה WeaveMessageLayer מסירה את ההודעה ומחזירה אותה.
תפקידים ציבוריים
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
CloseEndpoints
WEAVE_ERROR CloseEndpoints( void )
סוגרים את כל נקודות הקצה הפתוחות של TCP ו-UDP.
לאחר מכן, בטלו חיבורים פתוחים של WeaveConnections וסגרו את כל האובייקטים הפתוחים ב-WeaveConnectionTunnel.
כדאי לעיין גם:Shutdown().
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
יצירת WeaveConnectionTunnel על ידי צימוד של שני WeaveConnections מוגדרים.
לאחר שהיצירה תתבצע בהצלחה, נקודות ה-TCPEndPoints התואמות לאובייקטים של הרכיב WeaveConnection יועברו אל WeaveConnectionTunnel, אחרת ה-WeaveConnections ייסגרו.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
פענוח כותרת של שכבת הודעת Weave מהודעת Weave שהתקבלה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
קידוד כותרת WeaveMessageLayer לתוך PacketBuffer.
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||
ערכים מוחזרים |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
קידוד כותרת של שכבת הודעה ב-Weave לתוך PacketBuffer.
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||
ערכים מוחזרים |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
צריך לבדוק אם צריך לשלוח החלפות UDP ל-Weave באופן מקומי מיציאת מקור UDP זמנית.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
קבל את מספר WeaveConnections בשימוש ואת גודל המאגר.
פרטים | |||
---|---|---|---|
פרמטרים |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
בודקים אם WeaveMessageLayer מוגדר להאזנה להודעות נכנסות ב-IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
בודקים אם WeaveMessageLayer מוגדר להאזנה להודעות נכנסות ב-IPv4.
הפעלה
WEAVE_ERROR Init( InitContext *context )
מאתחלים את אובייקט שכבת ההודעה של Weave.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
בודקים אם ה-WeaveMessageLayer מקושר לכתובת IPv4 מקומית.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
בודקים אם ה-WeaveMessageLayer מקושר לכתובת IPv6 מקומית.
IsMessageLayerActive
bool IsMessageLayerActive( void )
NewConnection
WeaveConnection * NewConnection( void )
יוצרים אובייקט WeaveConnection ממאגר.
פרטים | |
---|---|
החזרות |
מצביע לאובייקט WeaveConnection החדש שנוצר, אם הוא בוצע בהצלחה, אחרת הערך NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
יצירת אובייקט WeaveConnectionTunnel חדש ממאגר.
פרטים | |
---|---|
החזרות |
מצביע לאובייקט WeaveConnectionTunnel החדש שנוצר, אם הוא בוצע בהצלחה, אחרת הערך NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
רענון נקודות הקצה של InetLayer בהתאם למצב הנוכחי של ממשקי הרשת של המערכת.
פרטים | |||||
---|---|---|---|---|---|
ערכים מוחזרים |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
שליחה מחדש של הודעת Weave מקודדת באמצעות נקודת הקצה מסוג Inetlayer UDP.
הערה:-אם לא צוינה כתובת יעד, נסה לזהות אותה לפי מזהה הצומת בכותרת ההודעה. הפעולה תיכשל אם לא ניתן לבצע את הפעולה הזו. -אם כתובת היעד היא כתובת בד עבור הבד המקומי, והמתקשר לא ציין את מזהה צומת היעד, יש לחלץ אותו מכתובת היעד.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
יש לשלוח הודעת Weave באמצעות נקודת הקצה מסוג Inetlayer UDP לאחר הקידוד.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
יש לשלוח הודעת Weave באמצעות נקודת הקצה מסוג Inetlayer UDP לאחר הקידוד.
הערה:-יציאת היעד שבה נעשה שימוש היא WEAVE_PORT. -אם כתובת היעד לא סופקה, נסה לזהות אותה לפי מזהה הצומת בכותרת ההודעה. הפעולה תיכשל אם לא ניתן לבצע את הפעולה הזו.
-אם כתובת היעד היא כתובת בד עבור הבד המקומי, והמתקשר לא ציין את מזהה צומת היעד, יש לחלץ אותו מכתובת היעד.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
יש לשלוח הודעת Weave באמצעות נקודת הקצה מסוג Inetlayer UDP לאחר הקידוד.
הערה:-אם לא צוינה כתובת יעד, נסה לזהות אותה לפי מזהה הצומת בכותרת ההודעה. הפעולה תיכשל אם לא ניתן לבצע את הפעולה הזו. -אם כתובת היעד היא כתובת בד עבור הבד המקומי, והמתקשר לא ציין את מזהה צומת היעד, יש לחלץ אותו מכתובת היעד.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
SendUDPTunneledMessage
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
פונקציה לשליחת חבילה של מנהור במנהרת UDP מקומית.
שליחה של הודעת נתונים מסוג IPv6 במנהרה באמצעות UDP.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
מגדירים handler של אפליקציה שיופעל בכל פעם שהפעילות של שכבת ההודעה משתנה.
באופן ספציפי, האפליקציה תקבל הודעה בכל פעם:
- מספר ההחלפות הפתוחות.
- מספר הבקשות הממתינות לסנכרון מונה להודעות משתנה מאפס לאחד לפחות וחזרה לאפס. ה-handler משמש כאות כללי שמציין אם יש שיחות ב-Weave או שיש תשובות בהמתנה. יש להגדיר את ה-handler אחרי אתחול WeaveMessageLayer; השבתת ה-WeaveMessageLayer תנקה את ה-handler הנוכחי.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
ערכים מוחזרים |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
הפעלה או השבתה של האזנה לחיבורי TCP נכנסים ב-WeaveMessageLayer.
הערה: יש לקרוא ל-RefreshEndpoints()
לאחר שינוי מצב ההאזנה של TCP.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
מפעילים או משביתים האזנה להודעות UDP נכנסות ב-WeaveMessageLayer.
הערה: יש להפעיל את RefreshEndpoints()
לאחר שינוי מצב ההאזנה של ה-UDP.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
כיבוי
WEAVE_ERROR Shutdown( void )
משביתים את WeaveMessageLayer.
סגירה של כל נקודות הקצה הפתוחות של שכבת Inet, ואיפוס כל הקריאות החוזרות (callback) בשכבה הגבוהה יותר, המשתנים והאובייקטים של החברים. קריאה ל-Shutdown() מסיימת את האובייקט WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled( void ) const
בודקים אם WeaveMessageLayer מוגדר להאזין לחיבורי TCP נכנסים.
UDPListenEnabled
bool UDPListenEnabled( void ) const
בודקים אם WeaveMessageLayer מוגדר להאזנה להודעות UDP נכנסות.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
הפעלה או השבתה של התחלת ההפעלה של חילופי UDP ל-Weave מיציאת מקור UDP זמנית.
הערה: צריך להפעיל את RefreshEndpoints()
לאחר שינוי מצב היציאה הזמנית. בדקו אם מופעלת האזנה לא מאובטחת.
WeaveMessageLayer
WeaveMessageLayer( void )
בונה שכבת ההודעה של Weave.
פונקציות סטטיות ציבוריות
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
מקבלים את הגודל המקסימלי של המטען הייעודי (payload) ב-Weave, עבור הגדרת ההודעה ו-PacketBuffer שסופקו.
גודל המטען הייעודי המקסימלי שמוחזר לא יחרוג מהשטח הזמין של מטען ייעודי (payload) בתוך ה-PacketBuffer שסופק.
אם ההודעה היא UDP, הגודל המרבי של המטען הייעודי (payload) שמוחזר לא יגרום להודעת Weave שלא תחרוג מ-UDP MTU שצוין.
לסיום, גודל המטען הייעודי המקסימלי שמוחזר לא יגרום להצגת הודעת Weave שחורגת מהגודל המקסימלי של הודעת Weave.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
מה גודל המטען הייעודי (payload) המקסימלי של Weave.
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
יוצרת מחרוזת שמתארת צומת של קישור בין רשתות שכנות (peering) ואת הכתובת / פרטי החיבור המשויכים אליו.
המחרוזת שנוצרה בפורמט הבא:
([ ]: % , con )
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
הפונקציה יוצרת מחרוזת שמתארת צומת של אפליקציה להשוואה על סמך המידע שמשויך להודעה שהתקבלה מהעמיתים.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|