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 *
[READ ONLY] كائن InetLayer المرتبط
|
IsListening
|
bool
[للقراءة فقط] True عند الاستماع إلى الاتصالات/الرسائل الواردة، وخطأ في الحالات الأخرى.
|
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 من خلال إقران عنصرَي WeaveConnection محدّدَين.
|
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 |
الأنواع المتاحة للجميع
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
هذه الدالة هي دالة الاستدعاء ذات المستوى الأعلى للإبلاغ عن خطأ أثناء معالجة اتصال TCP وارد.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
تم استدعاء هذه الدالة لإزالة معاودة الاتصال.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
هذه الدالة هي دالة الاستدعاء ذات المستوى الأعلى لمعالجة اتصال 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)
هذه الدالة هي دالة ردّ الاتصال ذات الطبقة الأعلى التي يتمّ استدعاؤها عند استلام حزمة تمّ انشاؤها عبر نفق UDP محلي.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
السمات العامة
AppState
void * AppState
مؤشر إلى عنصر حالة خاص بالتطبيق
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
المهلة التلقائية لانتهاء وضع عدم النشاط (بالملي ثانية) للاتصالات الواردة
Inet
InetLayer * Inet
[للقراءة فقط] عنصر InetLayer المرتبط
IsListening
bool IsListening
[للقراءة فقط] صحيح إذا كان الجهاز يستمع إلى الاتصالات أو الرسائل الواردة، وخطأ بخلاف ذلك.
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 من خلال إقران عنصرَي WeaveConnection محدّدَين.
عند إنشاء العنصر بنجاح، يتم تسليم نقاط نهاية 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
تحقَّق مما إذا كان يجب إرسال عمليات تبادل Weave UDP التي يتم بدؤها محليًا من منفذ مصدر 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.
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 )
عيِّن معالج تطبيق سيتم استدعاؤه في كل مرة يتغير فيها نشاط طبقة الرسالة.
وعلى وجه التحديد، سيتم إشعار التطبيق في كل مرة:
- تغيُّر عدد عمليات التبادل المفتوحة
- يتغير عدد طلبات مزامنة عداد الرسائل المعلّقة من صفر إلى واحد على الأقل ويعود إلى الصفر. يتم عرض المعالِج كإشارة عامة تشير إلى ما إذا كانت هناك أي محادثات 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 المفتوحة، وأعِد ضبط جميع عمليات الاستدعاء للطبقات العليا والمتغيّرات والعناصر المضمّنة. يؤدي طلب 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 )
أداة إنشاء طبقة رسائل Weave
الدوال الثابتة العامة
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
الحصول على الحد الأقصى لحجم حمولة Weave لإعداد رسالة وPacketBuffer المقدَّم
لن يتجاوز الحد الأقصى لحجم الحمولة الذي يتم عرضه المساحة المتوفرة للحمولة داخل PacketBuffer المزود.
إذا كانت الرسالة تستخدم بروتوكول UDP، لن يؤدي الحد الأقصى لحجم الحمولة الذي يتم إرجاعه إلى ظهور رسالة Weave لا تتجاوز الحد الأقصى لوحدة النقل المصغّرة (MTU) المحدّدة في UDP.
أخيرًا، لن يؤدي الحد الأقصى لحجم الحمولة الذي يتم إرجاعه إلى ظهور رسالة 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 )
تُنشئ هذه الدالة سلسلة تصف عقدة نظير استنادًا إلى المعلومات المرتبطة برسالة تم استلامها من هذا النظير.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|