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(*
تم استدعاء هذه الدالة لإزالة معاودة الاتصال. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
هذه الدالة هي استدعاء طبقة أعلى للتعامل مع اتصال 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{
|
تعداد حالة WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
هذه الدالة هي استدعاء الطبقة الأعلى الذي يتم استدعاؤه عند استلام حزمة نفق عبر نفق UDP محلي. |
السمات العلنية |
|
---|---|
AppState
|
void *
مؤشر إلى كائن حالة خاص بالتطبيق.
|
ExchangeMgr
|
[للقراءة فقط] الكائن WeaveExchangeManager المرتبط.
|
FabricState
|
[للقراءة فقط] الكائن WeaveFabricState المرتبط.
|
IncomingConIdleTimeout
|
uint32_t
مهلة عدم النشاط التلقائية (بالمللي ثانية) للاتصالات الواردة.
|
Inet
|
InetLayer *
[للقراءة فقط] الكائن InetLayer المرتبط.
|
IsListening
|
bool
[للقراءة فقط] الإعداد "صحيح" في حال الاستماع إلى اتصالات/رسائل واردة، أو غير صحيح
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[للقراءة فقط] الكائن WeaveSecurityManager المرتبط.
|
State
|
uint8_t
[للقراءة فقط] حالة الكائن WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
داخليًا ولتصحيح الأخطاء فقط، عند الضبط، يؤدي WeaveMessageLayer إلى تجاهل الرسالة وعرضها.
|
الوظائف العامة |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
إغلاق جميع نقاط نهاية TCP وUD المفتوحة.
|
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
يمكنك ضبط معالج التطبيق الذي سيتم استدعاءه في كل مرة يتغير فيها نشاط طبقة الرسالة.
|
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
يمكنك الحصول على الحد الأقصى لحجم حمولة 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. |
الأنواع العامة
قبول الأخطاء
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
هذه الدالة هي استدعاء طبقة أعلى للإبلاغ عن خطأ أثناء معالجة اتصال TCP الوارد.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
إزالة معاودة الاتصال
void(* CallbackRemovedFunct)(void *listenerState)
تم استدعاء هذه الدالة لإزالة معاودة الاتصال.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
اتصال FunFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
هذه الدالة هي استدعاء طبقة أعلى للتعامل مع اتصال TCP الوارد.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
هذه الدالة هي استدعاء التطبيق للإبلاغ عن تغيير نشاط طبقة الرسالة.
تُعتبر طبقة الرسالة نشطة إذا كان هناك طلب واحد على الأقل لمبادلة الرسائل المفتوحة أو في انتظار المراجعة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
رسالة الاستلام الاستلام
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
هذه الدالة هي استدعاء الطبقة الأعلى الذي يتم استدعاؤه عند استلام رسالة Weave عبر UDP.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
رمز خطأ الاستلام
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
هذه الدالة هي استدعاء الطبقة الأعلى الذي تم استدعاءه عند مواجهة خطأ.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
الولاية
State
حالة WeaveMessageLayer.
أماكن إقامة | |
---|---|
kState_Initialized
|
الحالة التي يتم فيها إعداد WeaveMessageLayer. |
kState_Initializing
|
الحالة التي تكون فيها WeaveMessageLayer قيد الإعداد. |
kState_NotInitialized
|
الحالة التي لم يتم فيها إعداد WeaveMessageLayer. |
مسار الاتصال النفقي
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
هذه الدالة هي استدعاء الطبقة الأعلى الذي يتم استدعاؤه عند استلام حزمة نفق عبر نفق UDP محلي.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
السمات العلنية
حالة التطبيق
void * AppState
مؤشر إلى كائن حالة خاص بالتطبيق.
إدارة Exchange
WeaveExchangeManager * ExchangeMgr
[للقراءة فقط] الكائن WeaveExchangeManager المرتبط.
انتهاء مهلة البريد الوارد
uint32_t IncomingConIdleTimeout
مهلة عدم النشاط التلقائية (بالمللي ثانية) للاتصالات الواردة.
اينت
InetLayer * Inet
[للقراءة فقط] الكائن InetLayer المرتبط.
استماع
bool IsListening
[للقراءة فقط] الإعداد "صحيح" في حال الاستماع إلى اتصالات/رسائل واردة، أو غير صحيح
خطأ في القبول
AcceptErrorFunct OnAcceptError
تم استلام OnConnection
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
خطأ في الاستلام
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
طبقة النظام
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
داخليًا ولتصحيح الأخطاء فقط، عند الضبط، يؤدي WeaveMessageLayer إلى تجاهل الرسالة وعرضها.
الوظائف العامة
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
إغلاق نقاط النهاية
WEAVE_ERROR CloseEndpoints( void )
إغلاق جميع نقاط نهاية TCP وUD المفتوحة.
بعد ذلك، يمكنك إلغاء أي اتصالات WeaveConnection مفتوحة وإيقاف أي كائنات WeaveConnectionTunnel مفتوحة.
يُرجى الاطِّلاع أيضًا على:إيقاف التشغيل().
إنشاء نفق
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
يمكنك إنشاء WeaveConnectionTunnel من خلال الربط بين اثنين من WeaveConnections معًا.
عند الإنشاء بنجاح، يتم تسليم نقاط TCPEndPoints المقابلة لمكوّنات WeaveConnection إلى WeaveConnectionTunnel، وإلا سيتم إغلاق WeaveConnections.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
قيم الإرجاع |
|
فك الترميز
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
يمكنك فك ترميز رأس طبقة رسالة Weave من رسالة Weave التي تم تلقيها.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
ترميز الرسالة
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
رمِّز العنوان WeaveMessageLayer إلى الحِزمة PacketBuffer.
التفاصيل | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||||
قيم الإرجاع |
|
ترميز الرسالة
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
شفِّر رأس طبقة رسالة Weave في PacketBuffer.
التفاصيل | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||||
قيم الإرجاع |
|
مؤقت
bool EphemeralUDPPortEnabled( void ) const
تحقَّق مما إذا كان يجب إرسال عمليات تبادل Weave UDP محليًا من منفذ مصدر UDP مؤقت.
الحصول على إحصاءات حول الاتصال
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.
Init
WEAVE_ERROR Init( InitContext *context )
إعداد كائن طبقة رسالة Weave.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
قيم الإرجاع |
|
عنوان isBoundToLocalIPv4
bool IsBoundToLocalIPv4Address( void ) const
تحقّق من ربط WeaveMessageLayer بعنوان IPv4 محلي.
عنوان isBoundToLocalIPv6
bool IsBoundToLocalIPv6Address( void ) const
تأكَّد من ربط WeaveMessageLayer بعنوان IPv6 محلي.
IsMessageLayerActive
bool IsMessageLayerActive( void )
اتصال جديد
WeaveConnection * NewConnection( void )
إنشاء كائن WeaveConnection جديد من خلال مجموعة.
التفاصيل | |
---|---|
المرتجعات |
إشارة إلى كائن WeaveConnection المُنشأ حديثًا في حال نجاح ذلك، أو خلاف القيمة NULL.
|
اتصال جديد
WeaveConnectionTunnel * NewConnectionTunnel( void )
إنشاء كائن WeaveConnectionTunnel جديد من مجموعة.
التفاصيل | |
---|---|
المرتجعات |
مؤشر إلى العنصر WeaveConnectionTunnel الذي تم إنشاؤه حديثًا في حال كان ذلك ناجحًا، وبخلاف ذلك القيمة NULL.
|
رمز ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
إعادة تحميل نقاط النهاية
WEAVE_ERROR RefreshEndpoints( void )
أعِد تحميل نقاط نهاية InetLayer وفقًا للحالة الحالية لواجهات الشبكة على مستوى النظام.
التفاصيل | |||||
---|---|---|---|---|---|
قيم الإرجاع |
|
إعادة إرسال الرسالة
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إعادة إرسال رسالة Weave مشفّرة باستخدام نقطة نهاية Inetlayer UDP.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
إعادة إرسال الرسالة
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إعادة إرسال رسالة Weave مشفّرة باستخدام نقطة نهاية Inetlayer UDP.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
إعادة إرسال الرسالة
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إعادة إرسال رسالة Weave مشفّرة باستخدام نقطة نهاية Inetlayer UDP.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
قيم الإرجاع |
|
إعادة إرسال الرسالة
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إعادة إرسال رسالة Weave مشفّرة باستخدام نقطة نهاية Inetlayer UDP.
ملاحظة: - إذا لم يتم تقديم عنوان الوجهة، جرِّب تحديده من معرّف العقدة في رأس الرسالة. فشل إذا تعذر ذلك. -إذا كان عنوان الوجهة هو عنوان قماش للنسيج المحلي، ولم يحدّد المتصل رقم تعريف عقدة الوجهة، يمكنك استخراجه من عنوان الوجهة.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||
قيم الإرجاع |
|
إرسال رسالة
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إرسال رسالة Weave باستخدام نقطة نهاية Inetlayer UDP بعد ترميزها.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
إرسال رسالة
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إرسال رسالة Weave باستخدام نقطة نهاية Inetlayer UDP بعد ترميزها.
ملاحظة:- منفذ الوجهة المستخدَم هو WEAVE_PORT. - إذا لم يتم تقديم عنوان الوجهة، جرِّب تحديده من معرّف العقدة في رأس الرسالة. فشل إذا تعذر ذلك.
-إذا كان عنوان الوجهة هو عنوان قماش للنسيج المحلي، ولم يحدّد المتصل رقم تعريف عقدة الوجهة، يمكنك استخراجه من عنوان الوجهة.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
إرسال رسالة
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
يمكنك إرسال رسالة Weave باستخدام نقطة نهاية Inetlayer UDP بعد ترميزها.
ملاحظة: - إذا لم يتم تقديم عنوان الوجهة، جرِّب تحديده من معرّف العقدة في رأس الرسالة. فشل إذا تعذر ذلك. -إذا كان عنوان الوجهة هو عنوان قماش للنسيج المحلي، ولم يحدّد المتصل رقم تعريف عقدة الوجهة، يمكنك استخراجه من عنوان الوجهة.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||
قيم الإرجاع |
|
إرسال رسالة ترحيبية
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
وظيفة لإرسال حزمة أنبوبية عبر نفق UDP محلي.
يمكنك إرسال رسالة بيانات IPv6 نفقية عبر UDP.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
تم تغيير SetSignalMessageLayerActivity
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
يمكنك ضبط معالج التطبيق الذي سيتم استدعاءه في كل مرة يتغير فيها نشاط طبقة الرسالة.
على وجه التحديد، سيتم إشعار التطبيق في كل مرة:
- يتغيّر عدد التبادلات المفتوحة.
- يتغيّر عدد طلبات مزامنة الرسائل المضادة للرسائل من صفر إلى واحد على الأقل ومن جديد إلى صفر. يتم عرض المعالج كإشارة عامة تشير إلى ما إذا كانت هناك أي محادثات من Weave جارية أو ردود معلّقة. يجب ضبط المعالج بعد إعداد WeaveMessageLayer. وسيؤدي إيقاف WeaveMessageLayer إلى محو المعالج الحالي.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
قيم الإرجاع |
|
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 المفتوحة وأعِد ضبط جميع استدعاءات الطبقات الأعلى ومتغيرات الأعضاء والكائنات. ويؤدي الاستدعاء إلى Closeddown() إلى إنهاء الكائن WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled( void ) const
تحقَّق من إعداد WeaveMessageLayer للاستماع إلى اتصالات TCP الواردة.
تم تفعيل UDPListening
bool UDPListenEnabled( void ) const
تحقّق من إعداد WeaveMessageLayer للاستماع إلى رسائل UDP الواردة.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
تفعيل عمليات تبادل Weave UDP أو إيقافها من منفذ مصدر UDP المؤقت.
ملاحظة: يجب طلب RefreshEndpoints()
بعد تغيير حالة النقل المؤقت. التحقّق من تفعيل ميزة الاستماع غير الآمن
WeaMessageMessageLayer
WeaveMessageLayer( void )
أداة إنشاء طبقة رسالة Weave.
الدوال الثابتة العامة
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
يمكنك الحصول على الحد الأقصى لحجم حمولة Weave لضبط الرسالة وتوفر PacketBuffer.
لن يتجاوز الحد الأقصى لحجم الحمولة المعروض المساحة المتاحة للحمولة داخل PacketBuffer.
إذا كانت الرسالة في UDP، لن يؤدي الحد الأقصى لحجم الحمولة المعروض إلى رسالة Weave التي لن تتجاوز وحدة UDP MTU المحددة.
وأخيرًا، لن يؤدي الحد الأقصى لحجم الحمولة المعروض إلى ظهور رسالة Weave التي ستتجاوز الحد الأقصى لحجم رسالة Weave.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
المرتجعات |
الحد الأقصى لحجم حمولة Weave.
|
وصف GetPeer
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
تنشئ سلسلة تصف عقدة من الأقران وعنوانها / معلومات الاتصال المرتبطة بها.
وتكون السلسلة التي تم إنشاؤها بالتنسيق التالي:
([ ]: % , con )
التفاصيل | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
وصف GetPeer
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
تنشئ سلسلة تصف عقدة من الأقران استنادًا إلى المعلومات المرتبطة برسالة تم تلقيها من نظير.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|