nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
ההגדרה של המחלקה WeaveMessageLayer, שמנהלת את התקשורת עם צמתים אחרים של Weave.
סיכום
הוא משתמש באחת מנקודות קצה של InetLayer כדי ליצור ערוץ תקשורת עם צומתי Weave אחרים.
בנייה |
|
---|---|
WeaveMessageLayer(void)
מבנה שכבת ההודעה של Weave Message.
|
סוגים ציבוריים |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
הפונקציה הזו היא השכבה הגבוהה יותר לקריאה חוזרת (callback) לדיווח על שגיאה במהלך טיפול בחיבור TCP נכנס. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
הפונקציה הזו מופעלת כדי להסיר קריאה חוזרת (callback). |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
הפונקציה הזו היא השכבה הגבוהה יותר של קריאה חוזרת (callback) לטיפול בחיבור TCP נכנס. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה לדיווח על שינוי בפעילות בשכבת ההודעות. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת של השכבה הגבוהה יותר שמופעלת כשמקבלים הודעת Weave דרך UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
הפונקציה הזו היא הקריאה החוזרת של השכבה הגבוהה יותר שמופעלת במקרה של שגיאה. |
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
|
[READ ONLY] האובייקט 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
בדיקה אם צריך לשלוח חילופי נתונים של Weave UDP באופן מקומי מיציאת מקור UDP זמנית.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
מקבלים את מספר ה-WeaveConnects בשימוש ואת גודל המאגר.
|
IPv4ListenEnabled(void) const
|
bool
בודקים אם ה-WeaveMessageLayer מוגדר להאזנה לתקשורת נכנסת דרך IPv4.
|
IPv6ListenEnabled(void) const
|
bool
בודקים אם ה-WeaveMessageLayer מוגדר להאזנה לתקשורת נכנסת דרך IPv4.
|
Init(InitContext *context)
|
אתחול אובייקט השכבה של Weave Message.
|
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
הפעלה או השבתה של האפשרות להתחיל החלפות Weave UDP מיציאת מקור זמנית של 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
יצירת מחרוזת שמתארת צומת של אפליקציה להשוואה ואת פרטי הכתובת או החיבור שלו.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
יוצרת מחרוזת שמתארת צומת של אפליקציה להשוואה, על סמך המידע שמשויך להודעה שהתקבלה מהעמיתים.
|
שיעורים |
|
---|---|
nl:: |
ההגדרה של המחלקה InitContext. |
סוגים ציבוריים
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
הפונקציה הזו היא השכבה הגבוהה יותר לקריאה חוזרת (callback) לדיווח על שגיאה במהלך טיפול בחיבור TCP נכנס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
הפונקציה הזו מופעלת כדי להסיר קריאה חוזרת (callback).
פרטים | |||
---|---|---|---|
פרמטרים |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
הפונקציה הזו היא השכבה הגבוהה יותר של קריאה חוזרת (callback) לטיפול בחיבור TCP נכנס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
הפונקציה הזו היא הקריאה החוזרת של האפליקציה לדיווח על שינוי בפעילות בשכבת ההודעות.
שכבת ההודעות נחשבת פעילה אם יש לפחות החלפה פתוחה אחת או בקשה שממתינה לסנכרון עם הודעה נגדית.
פרטים | |||
---|---|---|---|
פרמטרים |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
הפונקציה הזו היא הקריאה החוזרת של השכבה הגבוהה יותר שמופעלת כשמקבלים הודעת Weave דרך UDP.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
הפונקציה הזו היא הקריאה החוזרת של השכבה הגבוהה יותר שמופעלת במקרה של שגיאה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
מדינה
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
הזמן הקצוב לתפוגה של חוסר פעילות שמוגדר כברירת מחדל (באלפיות השנייה) לחיבורים נכנסים.
Inet
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
בדיקה אם צריך לשלוח חילופי נתונים של Weave UDP באופן מקומי מיציאת מקור UDP זמנית.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
מקבלים את מספר ה-WeaveConnects בשימוש ואת גודל המאגר.
פרטים | |||
---|---|---|---|
פרמטרים |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
בודקים אם ה-WeaveMessageLayer מוגדר להאזנה לתקשורת נכנסת דרך IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
בודקים אם ה-WeaveMessageLayer מוגדר להאזנה לתקשורת נכנסת דרך IPv4.
Init
WEAVE_ERROR Init( InitContext *context )
אתחול אובייקט השכבה של Weave Message.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
מוחזר ערכים |
|
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
הפעלה או השבתה של האפשרות להתחיל החלפות Weave UDP מיציאת מקור זמנית של UDP.
הערה: חובה לבצע קריאה אל RefreshEndpoints()
אחרי שינוי מצב היציאה הזמנית. בודקים אם האזנה לא מאובטחת מופעלת.
WeaveMessageLayer
WeaveMessageLayer( void )
constructor של שכבת Weave Message.
פונקציות סטטיות ציבוריות
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
מקבלים את גודל המטען הייעודי (payload) המקסימלי של Weave לתצורת הודעה ול-PacketBuffer שסופק.
גודל המטען הייעודי (payload) המקסימלי שיוחזר לא יחרוג משטח האחסון הזמין של המטען הייעודי (payload) בתוך ה-packetBuffer שסופק.
אם ההודעה היא UDP, גודל המטען הייעודי (payload) המקסימלי שיוחזר לא יוביל להודעת Weave שלא תחרוג מ-UDP MTU שצוין.
לבסוף, גודל המטען הייעודי (payload) המקסימלי שיוחזר לא יוביל להודעת 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 )
יצירת מחרוזת שמתארת צומת של אפליקציה להשוואה ואת פרטי הכתובת או החיבור שלו.
המחרוזת שנוצרה היא בפורמט הבא:
([ ]: % , con )
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
יוצרת מחרוזת שמתארת צומת של אפליקציה להשוואה, על סמך המידע שמשויך להודעה שהתקבלה מהעמיתים.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|