nl::Weave::WeaveConnection

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

تعريف فئة Weave Connection.

الملخّص

وتُمثِّل هذه السمة اتصال TCP أو BLE مع عقدة Weave أخرى.

الأنواع المتاحة للجميع

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
تعداد
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
هذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند إغلاق الاتصال.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
وهذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند اكتمال إعداد الاتصال.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
هذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند تلقي رسالة عبر اتصال Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
تعداد
نوع الشبكة لكائن اتصال Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
هذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند ظهور خطأ عند تلقّي رسالة Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
تعداد
حالة كائن اتصال Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
هذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند استلام حزمة بيانات نفق عبر اتصال Weave.

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

AppState
void *
مؤشر إلى كائن الحالة الخاص بالتطبيق.
AuthMode
WeaveAuthMode
[للقراءة فقط] وضع المصادقة المستخدم لإنشاء مفاتيح التشفير التلقائية للاتصال.
DefaultEncryptionType
uint8_t
نوع التشفير التلقائي للرسائل.
DefaultKeyId
uint16_t
مفتاح التشفير التلقائي المراد استخدامه عند إرسال الرسائل.
MessageLayer
[للقراءة فقط] الكائن WeaveMessageLayer المرتبط.
NetworkType
uint8_t
[للقراءة فقط] نوع شبكة نقطة النهاية المرتبطة.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[للقراءة فقط] عنوان IP للعقدة المشابهة.
PeerNodeId
uint64_t
[للقراءة فقط] معرِّف العُقدة للنظراء.
PeerPort
uint16_t
[للقراءة فقط] رقم منفذ عقدة الزملاء.
ReceiveEnabled
bool
[للقراءة فقط] يتم الضبط على "صحيح" في حال تفعيل الاستلام، في حال لم يكن صحيحًا.
SendDestNodeId
bool
صحيح إذا كانت جميع الرسائل المرسلة عبر هذا الاتصال يجب أن تتضمن معرّف عقدة وجهة مشفرًا صراحةً، على "خطأ" بخلاف.
SendSourceNodeId
bool
صحيح إذا كانت جميع الرسائل المرسلة عبر هذا الاتصال يجب أن تتضمن معرّف عقدة مصدر مشفرًا صراحةً، أو "خطأ" بخلاف.
State
uint8_t
[للقراءة فقط] حالة الكائن WeaveConnection.

وظائف عامة

Abort(void)
void
يؤدّي هذا الخيار إغلاقًا سلسًا باستخدام WeaveConnection استنادًا إلى بروتوكول TCP أو BLE، مع تجاهل أي بيانات قد تكون أثناء الطيران من الصندوق وإليه.
AddRef(void)
void
حجز مرجع إلى كائن WeaveConnection.
Close(void)
إجراء إغلاق سلس لمنع حظر WeaveConnection المستند إلى بروتوكول TCP أو BLE، من خلال تقديم أي بيانات صادرة متبقية قبل إبلاغ المضيف البعيد عن بُعد إعادة ضبط الاتصال.
Close(bool suppressCloseLog)
إجراء إغلاق سلس لمنع حظر WeaveConnection المستند إلى بروتوكول TCP أو BLE، من خلال تقديم أي بيانات صادرة متبقية قبل إبلاغ المضيف البعيد عن بُعد إعادة ضبط الاتصال.
Connect(uint64_t peerNodeId)
اتصل بعقدة Weave باستخدام عنوان IP قماشي مشتق من معرّف العقدة المحدد.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
الاتصال بعقدة Weave باستخدام معرِّف عقدة و/أو عنوان IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
الاتصال بعقدة Weave باستخدام معرّف عقدة و/أو عنوان IP على واجهة معيّنة.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
اتصل بعقدة Weave باستخدام معرِّف عقدة و/أو اسم مضيف سلسلة.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
اتصل بعقدة Weave باستخدام معرّف عقدة و/أو عنوان نظير للسلسلة.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
اتصل بعقدة Weave باستخدام معرّف عقدة و/أو عنوان نظير للسلسلة.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
اربط بعقدة Weave باستخدام معرِّف العقدة و/أو قائمة اسم المضيف والمنافذ.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
اربط بعقدة Weave باستخدام معرِّف العقدة و/أو قائمة اسم المضيف والمنافذ.
DisableKeepAlive(void)
DisableReceive(void)
void
إيقاف التلقي عبر WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
تفعيل الاستلام عبر WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
الحصول على معلومات عنوان IP للأقران
GetPeerDescription(char *buf, size_t bufSize) const
void
إنشاء سلسلة تصف عقدة الزملاء المرتبطة بالاتصال.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
تقليل عدد المراجع على الكائن WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
إرسال رسالة Weave من خلال اتصال مُثبَت
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
وظيفة لإرسال حزمة نفق عبر اتصال Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
يمكنك تحديد مهلة لكي تتمكّن "ملتقى المرشدين المحليين" من النجاح أو عرض رسالة خطأ.
SetIdleTimeout(uint32_t timeoutMS)
إعداد مهلة عدم النشاط على اتصال طبقة الشبكة الأساسية.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
إجراء عملية إيقاف إرسال بروتوكول TCP أنيقة، لضمان إرسال جميع البيانات الصادرة واستلامها من خلال حزمة TCP's TCPs.

الأنواع المتاحة للجميع

@58

 @58
أماكن إقامة
kGetPeerDescription_MaxLength

الحد الأقصى لطول السلسلة (بما في ذلك حرف NUL) الذي يتم عرضه بواسطة GetPeerDescription().

قناة ConnectionClosedFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

هذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند إغلاق الاتصال.

التفاصيل
المعلَمات
[in] con
مؤشر إلى عنصر WeaveConnection.
[in] conErr
حدث خطأ WEAVE_ERROR عند إغلاق الاتصال.

FunCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

وهذه الدالة هي استدعاء التطبيق الذي تم استدعاؤه عند اكتمال إعداد الاتصال.

التفاصيل
المعلَمات
[in] con
مؤشر إلى عنصر WeaveConnection.
[in] conErr
حدث WEAVE_ERROR أثناء إعداد الاتصال.

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

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

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

التفاصيل
المعلَمات
[in] con
مؤشر إلى عنصر WeaveConnection.
[in] msgInfo
مؤشر إلى بنية WeaveMessageInfo تحتوي على معلومات حول الرسالة.
[in] msgBuf
مؤشر إلى عنصر PacketBuffer الذي يحمل الرسالة.

نوع الشبكة

 NetworkType

نوع الشبكة لكائن اتصال Weave.

أماكن إقامة
kNetworkType_BLE

نوع شبكة BLE

kNetworkType_IP

نوع شبكة TCP/IP.

kNetworkType_Unassigned

لم يتم تخصيص نوع الشبكة.

GetErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

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

التفاصيل
المعلَمات
[in] con
مؤشر إلى عنصر WeaveConnection.
[in] err
حدث WEAVE_ERROR عند استلام بيانات من خلال الاتصال.

الولاية

 State

حالة كائن اتصال Weave.

أماكن إقامة
kState_Closed

تحديد حالة إغلاق الاتصال.

kState_Connected

تحديد وقت إنشاء الاتصال.

kState_Connecting

يُرجى الإشارة إلى حالة محاولة الاتصال.

kState_EstablishingSession

تحديد وقت إجراء جلسة آمنة.

kState_ReadyToConnect

الحالة بعد إعداد اتصال Weave.

kState_Resolving

تحديد حالة إجراء تحليل اسم نظام أسماء النطاقات.

kState_SendShutdown

تحديد حالة انقطاع الاتصال

تذكرة لأنبوب الاستقبال

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

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

التفاصيل
المعلَمات
[in] con
مؤشر إلى عنصر WeaveConnection.
[in] msgInfo
مؤشر إلى الكائن WeaveMessageInfo.
[in] msgBuf
مؤشر إلى عنصر PacketBuffer الذي يحتوي على الحزمة النفقية التي تم استلامها.

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

حالة التطبيق

void * AppState

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

وضع المصادقة

WeaveAuthMode AuthMode

[للقراءة فقط] وضع المصادقة المستخدم لإنشاء مفاتيح التشفير التلقائية للاتصال.

نوع التشفير الافتراضي

uint8_t DefaultEncryptionType

نوع التشفير التلقائي للرسائل.

معرّف المفتاح التلقائي

uint16_t DefaultKeyId

مفتاح التشفير التلقائي المراد استخدامه عند إرسال الرسائل.

طبقة الرسالة

WeaveMessageLayer * MessageLayer

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

نوع الشبكة

uint8_t NetworkType

[للقراءة فقط] نوع شبكة نقطة النهاية المرتبطة.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

خطأ في الاستلام

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

قناة PeerAddr

IPAddress PeerAddr

[للقراءة فقط] عنوان IP للعقدة المشابهة.

رقم تعريف PeerNode

uint64_t PeerNodeId

[للقراءة فقط] معرِّف العُقدة للنظراء.

منفذ PeerPort

uint16_t PeerPort

[للقراءة فقط] رقم منفذ عقدة الزملاء.

EnableEnabled

bool ReceiveEnabled

[للقراءة فقط] يتم الضبط على "صحيح" في حال تفعيل الاستلام، في حال لم يكن صحيحًا.

SendDestNodeId

bool SendDestNodeId

صحيح إذا كانت جميع الرسائل المرسلة عبر هذا الاتصال يجب أن تتضمن معرّف عقدة وجهة مشفرًا صراحةً، على "خطأ" بخلاف.

SendSourceNodeId

bool SendSourceNodeId

صحيح إذا كانت جميع الرسائل المرسلة عبر هذا الاتصال يجب أن تتضمن معرّف عقدة مصدر مشفرًا صراحةً، أو "خطأ" بخلاف.

الولاية

uint8_t State

[للقراءة فقط] حالة الكائن WeaveConnection.

وظائف عامة

إلغاء

void Abort(
  void
)

يؤدّي هذا الخيار إغلاقًا سلسًا باستخدام WeaveConnection استنادًا إلى بروتوكول TCP أو BLE، مع تجاهل أي بيانات قد تكون أثناء الطيران من الصندوق وإليه.

تؤدي مكالمة Abort() إلى إنهاء الاتصال الأساسي على الفور. بعد هذه المرحلة، لن يكون من الممكن استخدام كائن WeaveConnection لإجراء المزيد من الاتصالات.

يؤدي استدعاء Abort() إلى تقليل عدد المراجع المرتبطة بكائن WeaveConnection، سواء كان الاتصال مفتوحًا/نشطًا في وقت استدعاء الطريقة أم لا. إذا أدى ذلك إلى وصول عدد المراجع إلى صفر، يتم تحرير الموارد المرتبطة بكائن الاتصال. وعند حدوث ذلك، يجب ألا يكون للتطبيق أي تفاعلات أخرى مع الكائن.

يمكنك أيضًا الاطِّلاع على:
Shutdown() وAbort() وAddRef() وRelease().

إضافة مرجع

void AddRef(
  void
)

حجز مرجع إلى كائن WeaveConnection.

تزيد الطريقة AddRef() من عدد المراجع المرتبط بالكائن WeaveConnection. بالنسبة إلى كل استدعاء لـ AddRef()، يكون التطبيق مسؤولاً عن إجراء طلب مقابل لأي من Release() أو Close() أو Abort().

إغلاق

WEAVE_ERROR Close(
  void
)

إجراء إغلاق سلس لمنع حظر WeaveConnection المستند إلى بروتوكول TCP أو BLE، من خلال تقديم أي بيانات صادرة متبقية قبل إبلاغ المضيف البعيد عن بُعد إعادة ضبط الاتصال.

لا تضمن هذه الطريقة استلام أي رسائل صادرة على مستوى بروتوكول التطبيق لم يتم قبولها على مستوى بروتوكول التطبيقات البعيدة. بالنسبة إلى كل من بروتوكولَي TCP وBLE، ستبذل حِزمة البروتوكول الأساسية أفضل جهد لتسليم أي بيانات صادرة في انتظار المراجعة قبل إعادة ضبط الاتصال. بالنسبة إلى بروتوكول TCP، يجب استخدام Shutdown() قبل Close() في حال كانت مطلوبة إيصال استلام رسالة طبقة النقل قبل إغلاق الاتصال. لا تقدم اتصالات BLE ما يعادل Shutdown().

بالنسبة إلى الاتصالات المستندة إلى بروتوكول BLE، يغلق Close() WeaveConnection ويتم إرجاعه على الفور، ولكنه قد يتسبب في بقاء كائن BLEEndPoint الأساسي حتى يتم إرسال جميع البيانات الصادرة. هذا تأثير جانبي لتطبيق بروتوكول النقل Weave over BLE الحالي ضمن Weave BleLayer.

بعد استدعاء Close()، لا يمكن استخدام الكائن WeaveConnection لإجراء المزيد من الاتصالات.

يقلل استدعاء Close() من عدد المراجع المرتبط بكائن WeaveConnection، سواء كان الاتصال مفتوحًا/نشطًا في وقت استدعاء الطريقة أم لا. إذا أدى ذلك إلى وصول عدد المراجع إلى صفر، يتم تحرير الموارد المرتبطة بكائن الاتصال. وعند حدوث ذلك، يجب ألا يكون للتطبيق أي تفاعلات أخرى مع الكائن.

التفاصيل
المرتجعات
WEAVE_NO_ERROR بدون شرط.
يمكنك أيضًا الاطِّلاع على:
Shutdown() وAbort() وAddRef() وRelease().

إغلاق

WEAVE_ERROR Close(
  bool suppressCloseLog
)

إجراء إغلاق سلس لمنع حظر WeaveConnection المستند إلى بروتوكول TCP أو BLE، من خلال تقديم أي بيانات صادرة متبقية قبل إبلاغ المضيف البعيد عن بُعد إعادة ضبط الاتصال.

لا تضمن هذه الطريقة استلام أي رسائل صادرة على مستوى بروتوكول التطبيق لم يتم قبولها على مستوى بروتوكول التطبيقات البعيدة. بالنسبة إلى كل من بروتوكولَي TCP وBLE، ستبذل حِزمة البروتوكول الأساسية أفضل جهد لتسليم أي بيانات صادرة في انتظار المراجعة قبل إعادة ضبط الاتصال. بالنسبة إلى بروتوكول TCP، يجب استخدام Shutdown() قبل Close() في حال كانت مطلوبة إيصال استلام رسالة طبقة النقل قبل إغلاق الاتصال. لا تقدم اتصالات BLE ما يعادل Shutdown().

بالنسبة إلى الاتصالات المستندة إلى بروتوكول BLE، يغلق Close() WeaveConnection ويتم إرجاعه على الفور، ولكنه قد يتسبب في بقاء كائن BLEEndPoint الأساسي حتى يتم إرسال جميع البيانات الصادرة. هذا تأثير جانبي لتطبيق بروتوكول النقل Weave over BLE الحالي ضمن Weave BleLayer.

بعد استدعاء Close()، لا يمكن استخدام الكائن WeaveConnection لإجراء المزيد من الاتصالات.

يقلل استدعاء Close() من عدد المراجع المرتبط بكائن WeaveConnection، سواء كان الاتصال مفتوحًا/نشطًا في وقت استدعاء الطريقة أم لا. إذا أدى ذلك إلى وصول عدد المراجع إلى صفر، يتم تحرير الموارد المرتبطة بكائن الاتصال. وعند حدوث ذلك، يجب ألا يكون للتطبيق أي تفاعلات أخرى مع الكائن.

التفاصيل
المعلَمات
[in] suppressCloseLog
صحيح إذا كانت السجلات تحتاج إلى إلغاء، أو كانت خطأ بخلاف ذلك.
المرتجعات
WEAVE_NO_ERROR بدون شرط.
يمكنك أيضًا الاطِّلاع على:
Shutdown() وAbort() وAddRef() وRelease().

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

اتصل بعقدة Weave باستخدام عنوان IP قماشي مشتق من معرّف العقدة المحدد.

التفاصيل
المعلَمات
[in] peerNodeId
رقم تعريف العقدة للنظراء.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

الاتصال بعقدة Weave باستخدام معرِّف عقدة و/أو عنوان IP.

التفاصيل
المعلَمات
[in] peerNodeId
معرّف العقدة المشابهة، kNodeIdNotSpecified أو 0 في حال لم يكن معروفًا.
[in] peerAddr
عنوان IP للنظر، IPAddress::any إذا لم يكن معروفًا.
[in] peerPort
المنفذ الاختياري للنظراء، هو الإعداد التلقائي على WEAVE_PORT.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

الاتصال بعقدة Weave باستخدام معرّف عقدة و/أو عنوان IP على واجهة معيّنة.

التفاصيل
المعلَمات
[in] peerNodeId
معرّف العقدة المشابهة، kNodeIdNotSpecified أو 0 في حال لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظراء. لا يتم دعم سوى أوضاع CASE وPASE ولم تتم مصادقتها.
[in] peerAddr
عنوان IP للنظر، IPAddress::any إذا لم يكن معروفًا.
[in] peerPort
المنفذ الاختياري للنظراء، هو الإعداد التلقائي على WEAVE_PORT.
[in] intf
الواجهة الاختيارية المطلوب استخدامها للاتصال بعقدة الزملاء، وهي القيمة التلقائية على INET_NULL_INTERFACEID.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

اتصل بعقدة Weave باستخدام معرِّف عقدة و/أو اسم مضيف سلسلة.

في حال توفّره، يمكن أن تكون divAddr أيًا من:


:

:

[]:

التفاصيل
المعلَمات
[in] peerNodeId
معرّف العقدة المشابهة، kNodeIdNotSpecified أو 0 في حال لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظراء. لا يتم دعم سوى أوضاع CASE وPASE ولم تتم مصادقتها.
[in] peerAddr
العنوان أو اسم المضيف للنظر كسلسلة C تم إنهاؤها فارغًا.
[in] defaultPort
المنفذ التلقائي الاختياري المراد استخدامه للاتصال إذا لم يتم توفيره في سلسلة كيرAddr.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

اتصل بعقدة Weave باستخدام معرّف عقدة و/أو عنوان نظير للسلسلة.

في حال توفّره، يمكن أن تكون divAddr أيًا من:


:

:

[]:

التفاصيل
المعلَمات
[in] peerNodeId
معرّف العقدة المشابهة، kNodeIdNotSpecified أو 0 في حال لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظراء. لا يتم دعم سوى أوضاع CASE وPASE ولم تتم مصادقتها.
[in] peerAddr
العنوان أو اسم المضيف للنظر كسلسلة C تم إنهاؤها غير فارغة.
[in] peerAddrLen
طول سلسلة pAddAddr.
[in] defaultPort
المنفذ التلقائي الاختياري المراد استخدامه للاتصال إذا لم يتم توفيره في سلسلة كيرAddr.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

اتصل بعقدة Weave باستخدام معرّف عقدة و/أو عنوان نظير للسلسلة.

في حال توفّره، يمكن أن تكون divAddr أيًا من:


:

:

[]:

التفاصيل
المعلَمات
[in] peerNodeId
معرّف العقدة المشابهة، kNodeIdNotSpecified أو 0 في حال لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظراء. لا يتم دعم سوى أوضاع CASE وPASE ولم تتم مصادقتها.
[in] peerAddr
العنوان أو اسم المضيف للنظر كسلسلة C تم إنهاؤها غير فارغة.
[in] peerAddrLen
طول سلسلة pAddAddr.
[in] dnsOptions
قيمة عدد صحيح تتحكم في كيفية تنفيذ دقة اسم المضيف. يجب أن تكون القيمة "أو" في قيمة واحدة أو أكثر من تعداد #::nl::Inet::DNSOptions.
[in] defaultPort
المنفذ التلقائي الاختياري المراد استخدامه للاتصال إذا لم يتم توفيره في سلسلة كيرAddr.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

اربط بعقدة Weave باستخدام معرِّف العقدة و/أو قائمة اسم المضيف والمنافذ.

التفاصيل
المعلَمات
[in] peerNodeId
رقم تعريف العقدة للنظراء.
[in] authMode
وضع المصادقة المستخدم للاتصال.
[in] hostPortList
قائمة أسماء المضيفين والمنافذ.
[in] intf
الواجهة الاختيارية المطلوب استخدامها للاتصال بعقدة الزملاء، وهي القيمة التلقائية على INET_NULL_INTERFACEID.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

ربط

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

اربط بعقدة Weave باستخدام معرِّف العقدة و/أو قائمة اسم المضيف والمنافذ.

التفاصيل
المعلَمات
[in] peerNodeId
رقم تعريف العقدة للنظراء.
[in] authMode
وضع المصادقة المستخدم للاتصال.
[in] hostPortList
قائمة أسماء المضيفين والمنافذ.
[in] dnsOptions
قيمة عدد صحيح تتحكم في كيفية تنفيذ دقة اسم المضيف. يجب أن تكون القيمة "أو" في قيمة واحدة أو أكثر من تعداد #::nl::Inet::DNSOptions.
[in] intf
الواجهة الاختيارية المطلوب استخدامها للاتصال بعقدة الزملاء، وهي القيمة التلقائية على INET_NULL_INTERFACEID.
قيم الإرجاع
WEAVE_NO_ERROR
عن طريق بدء الاتصال بالزملاء.
WEAVE_ERROR_INCORRECT_STATE
إذا كانت حالة WeaveConnection غير صحيحة.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
إذا كان وضع المصادقة المطلوب غير متوافق.
WEAVE_ERROR_INVALID_ADDRESS
إذا تعذّر استنتاج عنوان الوجهة من معرّف العقدة.
other
أخطاء الطبقة الداخلية التي تم إنشاؤها من خلال عمليات اتصال TCPEndPoint.

إيقاف KeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

إيقاف تحقيقات التحقّق من الاتصال عبر بروتوكول TCP في اتصال بروتوكول TCP الأساسي.

ملاحظة: لا يمكن استدعاء هذه الطريقة إلا من خلال اتصال Weave مدعوم باتصال TCP. لا يمكن استدعاء هذه الطريقة إلا عندما يكون الاتصال في حالة تسمح بالإرسال.

لا تفعل هذه الطريقة أي شيء إذا لم يتم تفعيل رسائل التحقق من الاتصال في الاتصال.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
عن إيقاف تحقيقات التحقّق من الاتصال عبر بروتوكول TCP بنجاح في الاتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
إذا تم استدعاء هذه الدالة لنقطة نهاية غير متوافقة (مثل BLE) في طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لإرسال الرسائل.
other
تؤدي أخطاء الطبقة الداخلية المتعلّقة بنقطة نهاية بروتوكول TCP إلى تفعيل عملية رسالة التحقّق من الاتصال.

إيقاف الاستلام

void DisableReceive(
  void
)

إيقاف التلقي عبر WeaveConnection.

يستخدم التطبيق هذه الطريقة للإشارة إلى أنها ليست جاهزة لتلقي أي بيانات واردة من خلال اتصال بروتوكول TCP. لإعادة تفعيل التلقي، يحتاج التطبيق إلى استدعاء EnableReceived() للسماح لـ WeaveConnection بتسليم أي بيانات مستلمة عن طريق استدعاء عمليات استدعاء مناسبة.

يُرجى الاطِّلاع أيضًا على:
EnableReceived()

تفعيل KeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

تفعيل تحقيقات التحقّق من الاتصال عبر بروتوكول TCP في اتصال بروتوكول TCP الأساسي.

ملاحظة:- لا يمكن استدعاء هذه الطريقة إلا من خلال اتصال Weave متوافق مع اتصال TCP. - لا يمكن استدعاء هذه الطريقة إلا عندما يكون الاتصال في حالة تسمح بالإرسال.

التفاصيل
المعلَمات
[in] interval
الفاصل الزمني (بالثواني) بين مسابر التحقق من الاتصال. تتحكم هذه القيمة أيضًا في الوقت بين آخر حزمة بيانات تم إرسالها ونُقال أول رسالة تحقّق من رسالة التحقّق من الاتصال.
[in] timeoutCount
الحد الأقصى لعدد الاستفسارات التي لم يتم قبولها قبل اعتبار الاتصال معطّلاً.

- يمكن استدعاء هذه الطريقة عدة مرات لضبط الفاصل الزمني لرسالة التحقّق من الاتصال أو عدد المهلة.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
عن تمكين تحقيقات التحقّق من الاتصال عبر بروتوكول TCP بنجاح في الاتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
إذا تم استدعاء هذه الدالة لنقطة نهاية غير متوافقة (مثل BLE) في طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لإرسال الرسائل.
other
تؤدي أخطاء الطبقة الداخلية المتعلّقة بنقطة نهاية بروتوكول TCP إلى تفعيل عملية رسالة التحقّق من الاتصال.

تفعيل الاستلام

void EnableReceive(
  void
)

تفعيل الاستلام عبر WeaveConnection.

يستخدم هذا التطبيق التطبيق للإشارة إلى عنصر WeaveConnection بأنه جاهز لتلقي أي بيانات تصل عبر اتصال TCP.

يمكنك أيضًا الاطِّلاع على ما يلي:
DisableReceive()

الحصول على معلومات العنوان

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

الحصول على معلومات عنوان IP للأقران

التفاصيل
المعلَمات
[out] addrInfo
مرجع إلى كائن IPPacketInfo.
قيم الإرجاع
WEAVE_NO_ERROR
النجاح.
WEAVE_ERROR_NOT_IMPLEMENTED
إذا تم استدعاء هذه الدالة لنقطة نهاية غير متوافقة (مثل BLE) في طبقة الشبكة.

وصف GetPeer

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

إنشاء سلسلة تصف عقدة الزملاء المرتبطة بالاتصال.

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

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

واردة

bool IsIncoming(
  void
) const 

رقم تعريف التسجيل

uint16_t LogId(
  void
) const 

عند إصدار العمل الفنّي

void Release(
  void
)

تقليل عدد المراجع على الكائن WeaveConnection.

تُنقص طريقة Release() العدد المرجعي المرتبط بالكائن WeaveConnection. وإذا أدى ذلك إلى بلوغ عدد المراجع صفرًا، يتم إغلاق الاتصال وتحرير كائن الاتصال. وعند حدوث ذلك، يجب ألا يكون للتطبيق أي تفاعلات أخرى مع الكائن.

إعادة ضبط مهلة المستخدم

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

إعادة ضبط خيار مقبس مهلة مستخدم TCP على الإعداد التلقائي للنظام.

ملاحظة:- لا يمكن استدعاء هذه الطريقة إلا من خلال اتصال Weave متوافق مع اتصال TCP. - لا يمكن استدعاء هذه الطريقة إلا عندما يكون الاتصال في حالة تسمح بالإرسال.

-لا تفعل هذه الطريقة أي شيء إذا لم يتم تعيين مهلة المستخدم على الاتصال.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
عند إعادة ضبط مهلة مستخدم TCP بنجاح على الاتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
إذا تم استدعاء هذه الدالة لنقطة نهاية غير متوافقة (مثل BLE) في طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لإرسال الرسائل.
other
أخطاء الطبقة الداخلية المتعلقة بإعادة ضبط نقطة نهاية TCP لمهلة مستخدم TCP.

إرسال رسالة

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

إرسال رسالة Weave من خلال اتصال مُثبَت

التفاصيل
المعلَمات
[in] msgInfo
مؤشر إلى عنصر WeaveMessageInfo.
[in] msgBuf
مؤشر إلى عنصر PacketBuffer الذي يحمل الحزمة للإرسال.
قيم الإرجاع
WEAVE_NO_ERROR
على إرسال الرسالة بنجاح إلى طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لإرسال الرسائل.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
إذا لم يتم تحديد معرّف العقدة المقصودة.
WEAVE_ERROR_SENDING_BLOCKED
إذا كانت الرسالة طويلة جدًا بحيث لا يمكن إرسالها.
other
أخطاء الطبقة الداخلية المتعلقة بعمليات إرسال نقطة النهاية المحددة.

إرسال رسالة نفقية

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

إرسال رسالة Weave نفقية عبر اتصال منشأ.

التفاصيل
المعلَمات
[in] msgInfo
مؤشر إلى عنصر WeaveMessageInfo.
[in] msgBuf
مؤشر إلى عنصر PacketBuffer الذي يحمل الحزمة للإرسال.
قيم الإرجاع
WEAVE_NO_ERROR
على إرسال الرسالة بنجاح إلى طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لإرسال الرسائل.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
إذا لم يتم تحديد معرّف العقدة المقصودة.
WEAVE_ERROR_SENDING_BLOCKED
إذا كانت الرسالة طويلة جدًا بحيث لا يمكن إرسالها.
other
أخطاء الطبقة الداخلية المتعلقة بعمليات إرسال نقطة النهاية المحددة.

تحديد مهلة الاتصال

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

يمكنك تحديد مهلة لكي تتمكّن "ملتقى المرشدين المحليين" من النجاح أو عرض رسالة خطأ.

التفاصيل
المعلَمات
[in] connTimeoutMsecs

تحديد مهلة

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

إعداد مهلة عدم النشاط على اتصال طبقة الشبكة الأساسية.

التفاصيل
المعلَمات
[in] timeoutMS
المهلة بالمللي ثانية.
قيم الإرجاع
WEAVE_NO_ERROR
على الإعداد الناجح لمهلة عدم النشاط للاتصال.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لاستلام الرسائل.

ضبط الوارد

void SetIncoming(
  bool val
)

تحديد مهلة المستخدم

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

حدِّد خيار مقبس مهلة مستخدم TCP.

عندما تكون القيمة أكبر من 0، فإنها تحدد الحد الأقصى للمدة بالمللي ثانية التي قد تظل فيها البيانات المنقولة غير معروفة قبل إغلاق TCP بفرض الاتصال المقابل. إذا تم تحديد قيمة الخيار على 0، سيستخدم TCP القيمة التلقائية للنظام. اطّلِع على RFC 5482 لمزيد من التفاصيل.

التفاصيل
المعلَمات
[in] userTimeoutMillis
قيمة مهلة مستخدم Tcp بالمللي ثانية.

ملاحظة:- لا يمكن استدعاء هذه الطريقة إلا من خلال اتصال Weave متوافق مع اتصال TCP. - لا يمكن استدعاء هذه الطريقة إلا عندما يكون الاتصال في حالة تسمح بالإرسال.

- يمكن استدعاء هذه الطريقة عدة مرات لتعديل مهلة مستخدم TCP.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
على إعداد ناجح لمهلة مستخدم TCP على الاتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
إذا تم استدعاء هذه الدالة لنقطة نهاية غير متوافقة (مثل BLE) في طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة لإرسال الرسائل.
other
أخطاء الطبقة الداخلية المتعلقة بإعداد نقطة نهاية TCP لمهلة مستخدم TCP.

إيقاف التشغيل

WEAVE_ERROR Shutdown(
  void
)

إجراء عملية إيقاف إرسال بروتوكول TCP أنيقة، لضمان إرسال جميع البيانات الصادرة واستلامها من خلال حزمة TCP's TCPs.

مع معظم عمليات تنفيذ بروتوكول TCP (وليس كلها)، سيؤدي استلام إيقاف تشغيل الإرسال إلى إيقاف المضيف عن بُعد أيضًا من جانب الاتصال، مما يؤدي إلى إغلاق الاتصال. ستؤدي المكالمة التالية إلى Close() إلى إنهاء WeaveConnection.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
عند إغلاق اتصال tcp بنجاح.
WEAVE_ERROR_NOT_IMPLEMENTED
إذا تم استدعاء هذه الدالة لنقطة نهاية غير متوافقة (مثل BLE) في طبقة الشبكة.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الكائن WeaveConnection في الحالة الصحيحة قبل بدء عملية إيقاف التشغيل.
other
حدوث أخطاء في الطبقة الداخلية مرتبطة بعمليات إيقاف نقطة النهاية المحددة.
يُرجى الاطِّلاع أيضًا على:
Close() وAbort().