nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
تعريف فئة WeaveMessageLayer، التي تدير الاتصال مع عُقد Weave الأخرى.
ملخّص
وتستخدم واحدة من العديد من نقاط نهاية InetLayer لإنشاء قناة اتصال مع عُقد Weave الأخرى.
الشركات المصنّعة والمُصنّعة |
|
---|---|
WeaveMessageLayer(void)
الدالة الإنشائية لطبقة Weave Message.
|
الأنواع العامة |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
تعريف الكتابةvoid(*
هذه الدالة هي استدعاء الطبقة الأعلى للإبلاغ عن خطأ أثناء التعامل مع اتصال TCP الوارد. |
CallbackRemovedFunct)(void *listenerState)
|
تعريف الكتابةvoid(*
تم استدعاء هذه الدالة لإزالة معاودة الاتصال. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
تعريف الكتابةvoid(*
هذه الدالة هي معاودة الاتصال ذات الطبقة الأعلى للتعامل مع اتصال TCP الوارد. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
تعريف الكتابةvoid(*
هذه الدالة هي معاودة الاتصال بالتطبيق للإبلاغ عن تغيير نشاط طبقة الرسائل. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
تعريف الكتابةvoid(*
هذه الدالة هي استدعاء الطبقة الأعلى الذي يتم استدعاؤه عند استلام رسالة Weave عبر UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
تعريف الكتابةvoid(*
هذه الدالة هي استدعاء الطبقة الأعلى الذي تم استدعاؤه عند حدوث خطأ. |
State{
|
تعداد حالة WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
تعريف الكتابةvoid(*
هذه الدالة هي استدعاء الطبقة الأعلى الذي يتم استدعاؤه عند استلام حزمة نفقية عبر نفق UDP محلي. |
السمات العامة |
|
---|---|
AppState
|
void *
يشير إلى عنصر حالة خاص بالتطبيق.
|
ExchangeMgr
|
[للقراءة فقط] كائن WeaveExchangeManager المرتبط
|
FabricState
|
[READ ONLY] سمة WeaveFabricState المرتبطة
|
IncomingConIdleTimeout
|
uint32_t
مهلة عدم النشاط التلقائية (بالمللي ثانية) للاتصالات الواردة
|
Inet
|
InetLayer *
[READ ONLY] كائن InetLayer المرتبط
|
IsListening
|
bool
[للقراءة فقط] True عند الاستماع إلى الاتصالات/الرسائل الواردة، وخطأ في الحالات الأخرى.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[READ ONLY] كائن WeaveSecurityManager المرتبط
|
State
|
uint8_t
[READ ONLY] حالة الكائن 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 Message من رسالة 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 Message في 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 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
عيِّن معالج تطبيق سيتم استدعاؤه في كل مرة يتغير فيها نشاط طبقة الرسالة.
|
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 على الاستماع إلى اتصالات بروتوكول التحكم بالنقل الواردة.
|
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
[READ ONLY] كائن InetLayer المرتبط
IsListening
bool IsListening
[للقراءة فقط] True عند الاستماع إلى الاتصالات/الرسائل الواردة، وخطأ في الحالات الأخرى.
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 مفتوحة.
يُرجى الاطّلاع أيضًا على:الحالة().
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 Message من رسالة 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 Message في 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 الذي تم إنشاؤه حديثًا في حال نجاحه، وبخلاف ذلك، فارغًا.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
أنشِئ كائن WeaveConnectionTunnel جديدًا من مجموعة.
التفاصيل | |
---|---|
المرتجعات |
مؤشر إلى الكائن WeaveConnectionTunnel الذي تم إنشاؤه حديثًا في حال نجاحه، وبخلاف ذلك، فارغًا.
|
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 المفتوحة، وإعادة ضبط جميع استدعاءات الطبقة الأعلى ومتغيرات الأعضاء والكائنات يؤدي استدعاء Launchdown() إلى إنهاء الكائن WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled( void ) const
تحقَّق مما إذا تم ضبط WeaveMessageLayer على الاستماع إلى اتصالات بروتوكول التحكم بالنقل الواردة.
UDPListenEnabled
bool UDPListenEnabled( void ) const
تحقق مما إذا تم ضبط WeaveMessageLayer على الاستماع إلى رسائل UDP الواردة.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
تتيح هذه السياسة تفعيل عمليات تبادل Weave UDP أو إيقافها من منفذ مصدر UDP مؤقت.
ملاحظة: يجب طلب RefreshEndpoints()
بعد تغيير حالة المنفذ المؤقت. تأكّد من تفعيل الاستماع غير الآمن.
WeaveMessageLayer
WeaveMessageLayer( void )
الدالة الإنشائية لطبقة Weave Message.
الدوال الثابتة العامة
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
الحصول على الحد الأقصى لحجم حمولة Weave لإعداد الرسالة وتوفير PacketBuffer.
لن يتجاوز الحد الأقصى لحجم الحمولة الذي يتم عرضه المساحة المتوفرة لحمولة البيانات داخل PacketBuffer المزود.
إذا كانت الرسالة هي UDP، فإن الحد الأقصى لحجم الحمولة الذي يتم عرضه لن يؤدي إلى ظهور رسالة Weave التي لن تتجاوز وحدة 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 )
تنشئ سلسلة تصف عقدة نظير بناءً على المعلومات المرتبطة برسالة مستلَمة من النظير.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|