nl :: نسج:: WeaveMessageLayer

#include <src/lib/core/WeaveMessageLayer.h>

تعريف WeaveMessageLayer الطبقة التي تدير الاتصالات مع العقد نسج أخرى.

ملخص

وهي تستخدم إحدى نقاط نهاية InetLayer العديدة لإنشاء قناة اتصال مع عقد Weave الأخرى.

البنائين والمدمرين

WeaveMessageLayer (void)
مُنشئ طبقة Weave Message.

الأنواع العامة

AcceptErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
هذه الوظيفة هي رد اتصال الطبقة العليا للإبلاغ عن خطأ أثناء معالجة اتصال TCP الوارد.
CallbackRemovedFunct )(void *listenerState) typedef
void(*
يتم استدعاء هذه الوظيفة لإزالة رد الاتصال.
ConnectionReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
هذه الوظيفة هي رد اتصال الطبقة العليا للتعامل مع اتصال TCP الوارد.
MessageLayerActivityChangeHandlerFunct )(bool messageLayerIsActive) typedef
void(*
هذه الوظيفة هي استدعاء التطبيق للإبلاغ عن تغيير نشاط طبقة الرسائل.
MessageReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
هذه الوظيفة هي استدعاء الطبقة العليا الذي يتم استدعاؤه عند استلام رسالة Weave عبر UDP.
ReceiveErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
هذه الوظيفة هي استدعاء الطبقة العليا الذي يتم استدعاؤه عند مواجهة خطأ.
State {
kState_NotInitialized = 0,
kState_Initializing = 1,
kState_Initialized = 2
}
تعداد
حالة WeaveMessageLayer .
TunneledMsgReceiveFunct )(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
هذه الوظيفة هي رد اتصال الطبقة العليا الذي يتم استدعاؤه عند استلام حزمة نفق عبر نفق 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 و 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 تم تكوينه للاستماع للاتصالات 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
تنشئ سلسلة تصف عقدة نظيرة بناءً على المعلومات المرتبطة برسالة مستلمة من النظير.

الطبقات

نيكولا لانغ :: :: نسج WeaveMessageLayer :: InitContext

تعريف InitContext الصف.

الأنواع العامة

AcceptErrorFunct

void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)

هذه الوظيفة هي رد اتصال الطبقة العليا للإبلاغ عن خطأ أثناء معالجة اتصال TCP الوارد.

تفاصيل
المعلمات
[in] msgLayer
مؤشر إلى WeaveMessageLayer الكائن.
[in] err
تمت مصادفة WEAVE_ERROR عند التعامل مع اتصال TCP وارد.

رد الاتصال

void(* CallbackRemovedFunct)(void *listenerState)

يتم استدعاء هذه الوظيفة لإزالة رد الاتصال.

تفاصيل
المعلمات
[in] listenerState
مؤشر إلى كائن حالة التطبيق.

ConnectionReceiveFunct

void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)

هذه الوظيفة هي رد اتصال الطبقة العليا للتعامل مع اتصال TCP الوارد.

تفاصيل
المعلمات
[in] msgLayer
مؤشر إلى WeaveMessageLayer الكائن.
[in] con
مؤشر إلى WeaveConnection الكائن.

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

هذه الوظيفة هي استدعاء التطبيق للإبلاغ عن تغيير نشاط طبقة الرسائل.

تعتبر طبقة الرسالة نشطة إذا كان هناك تبادل مفتوح واحد على الأقل أو طلب مزامنة عداد رسائل معلق.

تفاصيل
المعلمات
[in] messageLayerIsActive
قيمة منطقية تشير إلى ما إذا كانت طبقة الرسالة نشطة أم لا.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)

هذه الوظيفة هي استدعاء الطبقة العليا الذي يتم استدعاؤه عند استلام رسالة Weave عبر UDP.

تفاصيل
المعلمات
[in] msgLayer
مؤشر إلى WeaveMessageLayer الكائن.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] payload
تم استلام المؤشر إلى رسالة PacketBuffer التي تحتوي على الحزمة النفقية.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)

هذه الوظيفة هي استدعاء الطبقة العليا الذي يتم استدعاؤه عند مواجهة خطأ.

تفاصيل
المعلمات
[in] msgLayer
مؤشر إلى WeaveMessageLayer الكائن.
[in] err
تمت مصادفة WEAVE_ERROR عند تلقي البيانات.
[in] pktInfo
مؤشر للقراءة فقط لكائن IPPacketInfo.

حالة

 State

حالة WeaveMessageLayer .

الخصائص
kState_Initialized

الدولة عندما WeaveMessageLayer تتم تهيئة.

kState_Initializing

الدولة عندما WeaveMessageLayer هو في طور تهيئة.

kState_NotInitialized

الدولة عندما WeaveMessageLayer لم يتم تهيئة.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)

هذه الوظيفة هي رد اتصال الطبقة العليا الذي يتم استدعاؤه عند استلام حزمة نفق عبر نفق UDP محلي.

تفاصيل
المعلمات
[in] msgLayer
مؤشر إلى WeaveMessageLayer الكائن.
[in] payload
تم استلام المؤشر إلى رسالة PacketBuffer التي تحتوي على الحزمة النفقية.

السمات العامة

AppState

void * AppState

مؤشر إلى كائن حالة خاص بالتطبيق.

الصرف

WeaveExchangeManager * ExchangeMgr

[للقراءة فقط] ويرتبط WeaveExchangeManager الكائن.

FabricState

WeaveFabricState * FabricState

[للقراءة فقط] وكالة أسوشيتد WeaveFabricState الكائن.

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

مهلة الخمول الافتراضية (بالملي ثانية) للاتصالات الواردة.

إنت

InetLayer * Inet

[للقراءة فقط] كائن InetLayer المرتبط.

يستمع

bool IsListening

[للقراءة فقط] صواب في حالة الاستماع للاتصالات / الرسائل الواردة ، وخلاف ذلك خطأ.

OnAcceptError

AcceptErrorFunct OnAcceptError

تم استلامه

ConnectionReceiveFunct OnConnectionReceived

تم استلام الرسالة

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

تم استلام OnUDPTunneledMessage

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

الأمن

WeaveSecurityManager * SecurityMgr

[للقراءة فقط] ويرتبط WeaveSecurityManager الكائن.

حالة

uint8_t State

[للقراءة فقط] الدولة من WeaveMessageLayer الكائن.

طبقة النظام

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.

تفاصيل
المعلمات
[out] tunPtr
مؤشر إلى مؤشر ل WeaveConnectionTunnel الكائن.
[in] conOne
إشارة إلى أول WeaveConnection الكائن.
[in] conTwo
إشارة إلى الثاني WeaveConnection الكائن.
[in] inactivityTimeoutMS
الحد الأقصى للوقت بالمللي ثانية الذي يمكن أن يكون فيه نفق اتصال Weave خاملاً.
إرجاع القيم
WEAVE_NO_ERROR
على خلق الناجح ل WeaveConnectionTunnel .
WEAVE_ERROR_INCORRECT_STATE
إذا كان المكون WeaveConnection كائنات من WeaveConnectionTunnel ليس في الحالة الصحيحة.
WEAVE_ERROR_NO_MEMORY
إذا كان جديد WeaveConnectionTunnel لا يمكن إنشاء الكائن.

فك

WEAVE_ERROR DecodeHeader(
  PacketBuffer *msgBuf,
  WeaveMessageInfo *msgInfo,
  uint8_t **payloadStart
)

فك شفرة رأس طبقة Weave Message من رسالة Weave مستلمة.

تفاصيل
المعلمات
[in] msgBuf
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن الذي سوف تتلقى معلومات حول الرسالة.
[out] payloadStart
مؤشر لمؤشر إلى الموضع في المخزن المؤقت للرسائل بعد اكتمال فك التشفير.
إرجاع القيم
WEAVE_NO_ERROR
على فك شفرة عنوان الرسالة بنجاح.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
إذا كان طول المخزن المؤقت للرسائل الذي تم تمريره غير صالح.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
إذا كان إصدار تنسيق رأس Weave Message غير مدعوم.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf,
  WeaveConnection *con,
  uint16_t maxLen,
  uint16_t reserve
)

ترميز WeaveMessageLayer رأس إلى PacketBuffer.

تفاصيل
المعلمات
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن الذي يحتوي على معلومات حول الرسالة إلى أن ترميز.
[in] msgBuf
مؤشر إلى كائن PacketBuffer يحتوي على رسالة Weave.
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] maxLen
أقصى طول لرسالة Weave المشفرة.
[in] reserve
المساحة المحجوزة قبل الحمولة للاحتفاظ برأس رسالة Weave.
إرجاع القيم
WEAVE_NO_ERROR
على التشفير الناجح للرسالة.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
إذا كان إصدار تنسيق رأس Weave Message غير مدعوم.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
إذا كان طول الحمولة في المخزن المؤقت للرسالة يساوي صفرًا.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
إذا كان نوع التشفير في عنوان الرسالة غير مدعوم.
WEAVE_ERROR_MESSAGE_TOO_LONG
إذا كانت الرسالة المشفرة أطول من الحد الأقصى المطلوب.
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا لم تكن هناك مساحة كافية قبل أو بعد حمولة الرسالة.
other
الأخطاء التي تم إنشاؤها بواسطة كائن حالة النسيج عند جلب حالة الجلسة.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *payload
)

قم بتشفير رأس طبقة Weave Message في PacketBuffer.

تفاصيل
المعلمات
[in] destAddr
عنوان IP الوجهة.
[in] destPort
ميناء الوجهة.
[in] sendIntId
الواجهة المراد إرسال رسالة Weave عليها.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] payload
مؤشر إلى كائن PacketBuffer يحتوي على رسالة Weave.
إرجاع القيم
WEAVE_NO_ERROR
على التشفير الناجح لرسالة Weave.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
إذا كان إصدار Weave Message غير مدعوم.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
إذا كان طول الحمولة في المخزن المؤقت للرسالة يساوي صفرًا.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
إذا كان نوع التشفير غير مدعوم.
WEAVE_ERROR_MESSAGE_TOO_LONG
إذا كانت الرسالة المشفرة أطول من الحد الأقصى المطلوب.
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا لم تكن هناك مساحة كافية قبل أو بعد حمولة الرسالة.
other
الأخطاء التي تم إنشاؤها بواسطة كائن حالة النسيج عند جلب حالة الجلسة.

سريع الزوال UDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

تحقق مما إذا كان يجب إرسال عمليات تبادل Weave UDP التي تم بدؤها محليًا من منفذ مصدر UDP سريع الزوال.

GetConnectionPoolStats

void GetConnectionPoolStats(
  nl::Weave::System::Stats::count_t & aOutInUse
) const 

احصل على عدد وصلات WeaveConnections المستخدمة وحجم البركة.

تفاصيل
المعلمات
[out] aOutInUse
مرجع إلى size_t ، حيث يتم تخزين عدد الاتصالات المستخدمة.

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

تحقق مما إذا كان WeaveMessageLayer تم تكوينه للاستماع للاتصالات الواردة عبر IPv4.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

تحقق مما إذا كان WeaveMessageLayer تم تكوينه للاستماع للاتصالات الواردة عبر IPv4.

فيه

WEAVE_ERROR Init(
  InitContext *context
)

تهيئة كائن طبقة Weave Message.

تفاصيل
المعلمات
[in] context
مؤشر إلى InitContext الكائن.
إرجاع القيم
WEAVE_NO_ERROR
عند التهيئة الناجحة.
WEAVE_ERROR_INVALID_ARGUMENT
إذا مرت InitContext الكائن NULL.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت الدولة من WeaveMessageLayer كائن غير صحيحة.
other
تم إنشاء الأخطاء من طبقة Inet السفلية أثناء إنشاء نقطة النهاية.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

تحقق مما إذا كان WeaveMessageLayer منضم إلى عنوان IPv4 المحلي.

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

تحقق مما إذا كان WeaveMessageLayer منضم إلى عنوان IPv6 المحلي.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

اتصال جديد

WeaveConnection * NewConnection(
  void
)

إنشاء جديد WeaveConnection كائن من حمام السباحة.

تفاصيل
عائدات
مؤشر إلى المنشأ حديثا WeaveConnection الكائن إذا ناجحة، وإلا NULL.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

إنشاء جديد WeaveConnectionTunnel كائن من حمام السباحة.

تفاصيل
عائدات
مؤشر إلى المنشأ حديثا WeaveConnectionTunnel الكائن إذا ناجحة، وإلا NULL.

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

تحديث نقاط النهاية

WEAVE_ERROR RefreshEndpoints(
  void
)

قم بتحديث نقاط نهاية InetLayer بناءً على الحالة الحالية لواجهات شبكة النظام.

تفاصيل
إرجاع القيم
WEAVE_NO_ERROR
على التحديث الناجح لنقاط النهاية.
InetLayer
تستند إلى المكالمات لإنشاء نقاط نهاية TCP / UDP.

إعادة إرسال الرسالة

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أعد إرسال رسالة Weave المشفرة باستخدام نقطة نهاية Inetlayer UDP الأساسية.

تفاصيل
المعلمات
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

إعادة إرسال الرسالة

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أعد إرسال رسالة Weave المشفرة باستخدام نقطة نهاية Inetlayer UDP الأساسية.

تفاصيل
المعلمات
[in] destAddr
عنوان IP الوجهة.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

إعادة إرسال الرسالة

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أعد إرسال رسالة Weave المشفرة باستخدام نقطة نهاية Inetlayer UDP الأساسية.

تفاصيل
المعلمات
[in] destAddr
عنوان IP الوجهة.
[in] destPort
ميناء الوجهة.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

إعادة إرسال الرسالة

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId interfaceId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أعد إرسال رسالة Weave المشفرة باستخدام نقطة نهاية Inetlayer UDP الأساسية.

ملاحظة:، إذا لم يتم تزويد عنوان الوجهة، محاولة تحديد ذلك من معرف عقدة في رأس الرسالة. تفشل إذا كان هذا لا يمكن القيام به. -إذا كان عنوان الوجهة هو عنوان نسيج للنسيج المحلي ، ولم يحدد المتصل معرف عقدة الوجهة ، فاستخرجه من عنوان الوجهة.

تفاصيل
المعلمات
[in] aDestAddr
عنوان IP الوجهة.
[in] destPort
ميناء الوجهة.
[in] interfaceId
الواجهة المراد إرسال رسالة Weave عليها.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

إرسال رسالة

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أرسل رسالة Weave باستخدام نقطة نهاية Inetlayer UDP الأساسية بعد تشفيرها.

تفاصيل
المعلمات
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن تحتوي على معلومات عن رسالة لإرسالها.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

إرسال رسالة

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أرسل رسالة Weave باستخدام نقطة نهاية Inetlayer UDP الأساسية بعد تشفيرها.

ملاحظة:، ومنفذ الوجهة المستخدمة WEAVE_PORT . -إذا لم يتم توفير عنوان الوجهة ، فحاول تحديده من معرف العقدة في رأس الرسالة. تفشل إذا كان هذا لا يمكن القيام به.

-إذا كان عنوان الوجهة هو عنوان نسيج للنسيج المحلي ، ولم يحدد المتصل معرف عقدة الوجهة ، فاستخرجه من عنوان الوجهة.

تفاصيل
المعلمات
[in] destAddr
عنوان IP الوجهة.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن تحتوي على معلومات عن رسالة لإرسالها.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

إرسال رسالة

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntfId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

أرسل رسالة Weave باستخدام نقطة نهاية Inetlayer UDP الأساسية بعد تشفيرها.

ملاحظة:، إذا لم يتم تزويد عنوان الوجهة، محاولة تحديد ذلك من معرف عقدة في رأس الرسالة. تفشل إذا كان هذا لا يمكن القيام به. -إذا كان عنوان الوجهة هو عنوان نسيج للنسيج المحلي ، ولم يحدد المتصل معرف عقدة الوجهة ، فاستخرجه من عنوان الوجهة.

تفاصيل
المعلمات
[in] aDestAddr
عنوان IP الوجهة.
[in] destPort
ميناء الوجهة.
[in] sendIntfId
الواجهة المراد إرسال رسالة Weave عليها.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن تحتوي على معلومات عن رسالة لإرسالها.
[in] payload
مؤشر إلى كائن PacketBuffer يحمل رسالة Weave المشفرة.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
WEAVE_ERROR_INVALID_ADDRESS
إذا لم يتم تحديد destAddr أو لا يمكن تحديده من معرف عقدة الوجهة.
errors
تم إنشاؤه من نقطة نهاية UDP طبقة آينت السفلية أثناء الإرسال.

SendUDPTunneledMessage

WEAVE_ERROR SendUDPTunneledMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

وظيفة لإرسال حزمة نفقية عبر نفق UDP محلي.

إرسال رسالة بيانات IPv6 نفقية عبر UDP.

تفاصيل
المعلمات
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] destAddr
عنوان IP لوجهة نفق UDP.
[in] msgBuf
مؤشر إلى كائن PacketBuffer الذي يحمل الحزمة المراد إرسالها.
إرجاع القيم
WEAVE_NO_ERROR
عند إرسال الرسالة بنجاح إلى طبقة الشبكة.
WEAVE_ERROR_INVALID_ADDRESS
إذا لم يتم تحديد destAddr أو لا يمكن تحديده من معرف عقدة الوجهة.
errors
تم إنشاؤه من نقطة نهاية UDP لطبقة آينت السفلية أثناء الإرسال.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

قم بتعيين معالج التطبيق الذي سيتم استدعاؤه في كل مرة يتغير نشاط طبقة الرسالة.

على وجه التحديد ، سيتم إخطار التطبيق في كل مرة:

  • عدد التبادلات المفتوحة يتغير.
  • يتغير عدد طلبات مزامنة عداد الرسائل المعلقة من صفر إلى واحد على الأقل والعودة إلى الصفر. يتم تقديم المعالج كإشارة عامة تشير إلى ما إذا كانت هناك أي محادثات Weave جارية أو ردود معلقة. يجب تعيين معالج بعد WeaveMessageLayer تم تهيئة. اغلاق WeaveMessageLayer إرادة واضحة من معالج الحالي.

تفاصيل
المعلمات
[in] messageLayerActivityChangeHandler
مؤشر لوظيفة يتم استدعاؤها كلما تغير نشاط طبقة الرسالة.
إرجاع القيم
None.

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 المفتوحة ، وأعد تعيين جميع عمليات استدعاء الطبقة العليا ومتغيرات الأعضاء والكائنات. دعوة إلى إيقاف () إنهاء 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 Message.

وظائف ثابتة عامة

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

احصل على الحجم الأقصى لحمولة Weave لتكوين الرسالة و PacketBuffer المقدم.

لن يتجاوز الحد الأقصى لحجم الحمولة المرتجعة المساحة المتوفرة للحمولة داخل PacketBuffer المزودة.

إذا كانت الرسالة هي UDP ، فلن ينتج عن الحد الأقصى لحجم الحمولة الناتج رسالة Weave التي لن تتجاوز UDP MTU المحدد.

أخيرًا ، لن ينتج عن الحد الأقصى لحجم الحمولة النافعة الذي تم إرجاعه رسالة Weave تتجاوز الحد الأقصى لحجم رسالة Weave.

تفاصيل
المعلمات
[in] msgBuf
مؤشر إلى PacketBuffer سيتم كتابة حمولة الرسالة عليه.
[in] isUDP
صواب إذا كانت الرسالة عبارة عن رسالة UDP.
[in] udpMTU
حجم UDP MTU. تم تجاهله إذا كان isUDP خاطئًا.
عائدات
أقصى حجم حمولة نسج.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  InterfaceId interfaceId,
  const WeaveConnection *con
)

يُنشئ سلسلة تصف عقدة النظير ومعلومات العنوان / الاتصال المرتبطة بها.

سلسلة ولدت لديها الشكل التالي:

 ([]:%, con )

تفاصيل
المعلمات
[in] buf
مؤشر إلى المخزن المؤقت الذي يجب كتابة السلسلة فيه. يجب أن يكون المخزن المؤقت المزود بحجم kWeavePeerDescription_MaxLength على الأقل. إذا تم إعطاء مخزن مؤقت أصغر ، فسيتم اقتطاع السلسلة لتناسب. سيتضمن الإخراج حرف إنهاء NUL في جميع الحالات.
[in] bufSize
وأشار حجم المخزن المؤقت بوف.
[in] nodeId
معرف العقدة المراد طباعتها.
[in] addr
مؤشر إلى عنوان IP المراد طباعته ؛ أو NULL إذا لم تتم طباعة عنوان IP.
[in] port
رقم منفذ IP ليتم طباعته. لن تتم طباعة أي رقم منفذ إذا كان العنوان NULL.
[in] interfaceId
InterfaceId يحدد الواجهة المراد طباعتها. ستحتوي سلسلة الإخراج على اسم الواجهة كما هو معروف لمكدس الشبكة الأساسي. لن تتم طباعة أي اسم للواجهة إذا كان معرف الواجهة هو INET_NULL_INTERFACEID أو إذا كان العنوان فارغًا.
[in] con
مؤشر إلى WeaveConnection الكائن الذي يجب أن تكون مطبوعة معرف تسجيل. أو NULL إذا لم تتم طباعة معرف الاتصال.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  const WeaveMessageInfo *msgInfo
)

تنشئ سلسلة تصف عقدة نظيرة بناءً على المعلومات المرتبطة برسالة مستلمة من النظير.

تفاصيل
المعلمات
[in] buf
مؤشر إلى المخزن المؤقت الذي يجب كتابة السلسلة فيه. يجب أن يكون المخزن المؤقت المزود بحجم kWeavePeerDescription_MaxLength على الأقل. إذا تم إعطاء مخزن مؤقت أصغر ، فسيتم اقتطاع السلسلة لتناسب. سيتضمن الإخراج حرف إنهاء NUL في جميع الحالات.
[in] bufSize
وأشار حجم المخزن المؤقت بوف.
[in] msgInfo
مؤشر إلى WeaveMessageInfo بنية تحتوي على معلومات عن الرسالة.