nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
ההגדרה של הכיתה WeaveMessageLayer, שמנהלת את התקשורת עם צמתים אחרים של Weave.
סיכום
הוא משתמש באחת מנקודות קצה של InetLayer כדי ליצור ערוץ תקשורת עם צומתי Weave אחרים.
פונקציות constructor ו-destructor |
|
---|---|
WeaveMessageLayer(void)
constructor של שכבת 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(*
הפונקציה הזו היא קריאה חוזרת (callback) של האפליקציה לדיווח על שינוי בפעילות בשכבת ההודעה. |
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(*
הפונקציה הזו היא פונקציית הקריאה החוזרת בשכבה גבוהה יותר, שנקראת כשמקבלים חבילה במנהרה דרך מנהרה מקומית של 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
אחזור מספר ה-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
הפעלה או השבתה של האפשרות להתחיל החלפות 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)
הפונקציה הזו היא קריאה חוזרת (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)
הפונקציה הזו היא פונקציית הקריאה החוזרת בשכבה גבוהה יותר, שנקראת כשמקבלים חבילה במנהרה דרך מנהרה מקומית של UDP.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
מאפיינים גלויים לכולם
AppState
void * AppState
מצביע לאובייקט מצב ספציפי לאפליקציה.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[לקריאה בלבד] האובייקט המשויך מסוג WeaveExchangeManager.
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 ספציפיים.
אם היצירה מסתיימת בהצלחה, נקודות הקצה של ה-TCP שתואמות לאובייקטים של הרכיב WeaveConnection מועברות ל-WeaveConnectionTunnel. אחרת, חיבורי WeaveConnection נסגרים.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
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
מקבלים את מספר ה-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.
הערה: אם לא סופקה כתובת היעד, יש לנסות לאתר אותה ממזהה הצומת בכותרת ההודעה. אם לא ניתן לעשות זאת, הפונקציה נכשלת. -אם כתובת היעד היא כתובת של fabric ב-fabric המקומי, והמבצע לא ציין את מזהה הצומת של היעד, צריך לחלץ אותו מכתובת היעד.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
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 של אפליקציות שיישלח בכל פעם שהפעילות של שכבת ההודעות משתנה.
באופן ספציפי, האפליקציה תקבל התראה בכל פעם:
- מספר הסבבים הפתוחים משתנה.
- מספר הבקשות לסנכרון של ספירת ההודעות בהמתנה משתנה מאפס לאחת לפחות ובחזרה לאפס. הטיפול מופיע כאות כללי שמציין אם יש שיחות מתמשכות ב-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 )
constructor של שכבת Weave Message.
פונקציות סטטיות ציבוריות
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
מקבלים את גודל המטען הייעודי (payload) המקסימלי של Weave לתצורת הודעה ול-PacketBuffer שסופק.
גודל המטען הייעודי (payload) המקסימלי שיוחזר לא יעלה על המרחב הזמין למטען הייעודי ב-PacketBuffer שסופק.
אם ההודעה היא UDP, גודל המטען הייעודי (payload) המקסימלי שיוחזר לא יוביל להודעת Weave שלא תחרוג מ-UDP MTU שצוין.
לבסוף, גודל המטען הייעודי (payload) המקסימלי שיוחזר לא יוביל להודעת Weave שתחרוג מגודל ההודעה המקסימלי של Weave.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
גודל המטען הייעודי המקסימלי ב-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 )
יוצרת מחרוזת שמתארת צומת של אפליקציה להשוואה, על סמך המידע שמשויך להודעה שהתקבלה מהעמיתים.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|