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
[READ ONLY] كائن WeaveMessageLayer المرتبط.
NetworkType
uint8_t
[للقراءة فقط] نوع الشبكة لنقطة النهاية المرتبطة.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[للقراءة فقط] عنوان IP لعقدة النظراء.
PeerNodeId
uint64_t
[قراءة فقط] معرِّف عقدة النظير.
PeerPort
uint16_t
[للقراءة فقط] رقم منفذ عقدة النظراء.
ReceiveEnabled
bool
[القراءة فقط] صحيح في حالة تمكين الاستلام، أما إذا تم تمكين الاستلام، فسيتم بخلاف ذلك.
SendDestNodeId
bool
صحيح إذا كان يجب على جميع الرسائل المرسلة من خلال هذا الاتصال أن تشتمل على معرّف عقدة وجهة تم ترميزه بشكلٍ صريح، وإلا سيتم ضبط false في الحالات الأخرى.
SendSourceNodeId
bool
صحيح إذا كانت جميع الرسائل المرسلة من خلال هذا الاتصال يجب أن تتضمن معرّف عقدة مصدر مشفّر بشكل صريح، وإلا سيتم اختيار false في الحالات الأخرى.
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 الخاص بالنظير.

الأنواع العلنية

@58

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

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

ConnectionClosedFunct

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

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

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

ConnectionCompleteFunct

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

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

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

MessageReceiveFunct

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

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

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

NetworkType

 NetworkType

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

أماكن إقامة
kNetworkType_BLE

نوع شبكة BLE

kNetworkType_IP

نوع شبكة بروتوكول TCP/IP

kNetworkType_Unassigned

لم يتم تحديد نوع الشبكة.

ReceiveErrorFunct

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

اذكر الوقت الذي يتم فيه تنفيذ تحليل اسم نظام أسماء النطاقات (DNS).

kState_SendShutdown

الحالة عندما يتم إيقاف الاتصال.

TunneledMsgReceiveFunct

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

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

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

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

AppState

void * AppState

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

AuthMode

WeaveAuthMode AuthMode

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

DefaultEncryptionType

uint8_t DefaultEncryptionType

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

DefaultKeyId

uint16_t DefaultKeyId

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

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] كائن WeaveMessageLayer المرتبط.

NetworkType

uint8_t NetworkType

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

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[للقراءة فقط] عنوان IP لعقدة النظراء.

PeerNodeId

uint64_t PeerNodeId

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

PeerPort

uint16_t PeerPort

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

ReceiveEnabled

bool ReceiveEnabled

[القراءة فقط] صحيح في حالة تمكين الاستلام، أما إذا تم تمكين الاستلام، فسيتم بخلاف ذلك.

SendDestNodeId

bool SendDestNodeId

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

SendSourceNodeId

bool SendSourceNodeId

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

الحالة

uint8_t State

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

الدوال العامة

إلغاء

void Abort(
  void
)

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

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

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

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

AddRef

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 فوق بروتوكول النقل 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 فوق بروتوكول النقل BLE الموجود ضمن طبقة Weave BleLayer.

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

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

التفاصيل
المَعلمات
[in] suppressCloseLog
true إذا كانت السجلات بحاجة إلى إلغاء، أو false إذا لم يتم إجراء ذلك.
المرتجعات
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::أي إذا لم يكن معروفًا.
[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 وUnauthed (لم تتم مصادقتها).
[in] peerAddr
عنوان IP للنظير، IPAddress::أي إذا لم يكن معروفًا.
[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 باستخدام معرّف عقدة و/أو اسم مضيف سلسلة.

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


:

:

[]:

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة الخاص بالنظير، kNodeIdNotSpecified أو 0 إذا لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظير. لا يتوفّر سوى الأوضاع CASE وPASE وUnauthed (لم تتم مصادقتها).
[in] peerAddr
العنوان أو اسم المضيف للنظير كسلسلة C تم إنهاؤها فارغة.
[in] defaultPort
المنفذ التلقائي الاختياري المطلوب استخدامه للاتصال إذا لم يتم توفيره في سلسلة alternateAddr.
قيم الإرجاع
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 باستخدام معرّف عقدة و/أو عنوان نظير سلسلة.

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


:

:

[]:

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة الخاص بالنظير، kNodeIdNotSpecified أو 0 إذا لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظير. لا يتوفّر سوى الأوضاع CASE وPASE وUnauthed (لم تتم مصادقتها).
[in] peerAddr
العنوان أو اسم المضيف للنظير كسلسلة C غير تم إنهاؤها بدون قيمة NULL.
[in] peerAddrLen
طول سلسلةpeAddr.
[in] defaultPort
المنفذ التلقائي الاختياري المطلوب استخدامه للاتصال إذا لم يتم توفيره في سلسلة alternateAddr.
قيم الإرجاع
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 باستخدام معرّف عقدة و/أو عنوان نظير سلسلة.

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


:

:

[]:

التفاصيل
المَعلمات
[in] peerNodeId
معرّف العقدة الخاص بالنظير، kNodeIdNotSpecified أو 0 إذا لم يكن معروفًا.
[in] authMode
وضع المصادقة المطلوب للنظير. لا يتوفّر سوى الأوضاع CASE وPASE وUnauthed (لم تتم مصادقتها).
[in] peerAddr
العنوان أو اسم المضيف للنظير كسلسلة C غير تم إنهاؤها بدون قيمة NULL.
[in] peerAddrLen
طول سلسلةpeAddr.
[in] dnsOptions
قيمة عددية تتحكّم في كيفية تنفيذ تحليل اسم المضيف. يجب أن تكون القيمة OR في قيمة واحدة أو أكثر من التعداد #::nl::Inet::DNSOptions.
[in] defaultPort
المنفذ التلقائي الاختياري المطلوب استخدامه للاتصال إذا لم يتم توفيره في سلسلة alternateAddr.
قيم الإرجاع
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
قيمة عددية تتحكّم في كيفية تنفيذ تحليل اسم المضيف. يجب أن تكون القيمة OR في قيمة واحدة أو أكثر من التعداد #::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

DisableKeepAlive

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 إلى تفعيل عملية التحقّق من الاتصال.

DisableReceive

void DisableReceive(
  void
)

إيقاف الاستلام عبر WeaveConnection هذا.

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

راجِع أيضًا:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::تفعيل KeepAlive

تفعيل اختبارات التحقق من اتصال TCP على اتصال TCP الأساسي.

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

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

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

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

EnableReceive

void EnableReceive(
  void
)

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

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

راجِع أيضًا:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

الحصول على معلومات عن عنوان IP للنظير

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

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

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

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

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

الإصدار

void Release(
  void
)

قلِّل عدد المراجع في الكائن WeaveConnection.

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

ResetUserTimeout

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.

SendMessage

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
أخطاء طبقة الدخول المتعلقة بعمليات إرسال نقطة النهاية المحدَّدة.

SendTunneledMessage

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
أخطاء طبقة الدخول المتعلقة بعمليات إرسال نقطة النهاية المحدَّدة.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

يمكنك ضبط المهلة قبل نجاح عملية الربط أو عرض خطأ.

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

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

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

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

اضبط خيار مقبس مهلة مستخدم TCP.

عندما تكون القيمة أكبر من 0، فإنها تحدد الحد الأقصى لمقدار الوقت بالمللي ثانية الذي قد تظل البيانات المنقولة بدون إقرار بها قبل أن يغلق بروتوكول التحكم بالنقل الاتصال المتجاوب بالقوة. إذا تم تحديد قيمة الخيار كـ 0، سيستخدم بروتوكول التحكم بالنقل القيمة الإعداد التلقائي للنظام. راجع 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 الخاص بالنظير.

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

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