nl::Weave::WeaveConnection

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

تعريف فئة اتصال النسيج.

ملخّص

يمثل اتصال TCP أو BLE بعقدة Weave أخرى.

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

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
تعداد
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) تعريف الكتابة
void(*
هذه الدالة هي استدعاء التطبيق الذي يتم استدعاؤه عند إغلاق الاتصال.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) تعريف الكتابة
void(*
هذه الوظيفة هي معاودة الاتصال بالتطبيق التي يتم استدعاؤها عند اكتمال إعداد الاتصال.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) تعريف الكتابة
void(*
هذه الدالة هي استدعاء التطبيق الذي يتم استدعاؤه عند تلقي رسالة عبر اتصال Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
تعداد
نوع الشبكة لكائن اتصال Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) تعريف الكتابة
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) تعريف الكتابة
void(*
هذه الدالة هي استدعاء التطبيق الذي يتم استدعاءه عند استلام حزمة بيانات نفقية عبر اتصال Weave.

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

AppState
void *
يشير إلى عنصر الحالة الخاص بالتطبيق.
AuthMode
WeaveAuthMode
[للقراءة فقط] وضع المصادقة المستخدَم لإنشاء مفاتيح التشفير التلقائية للاتصال
DefaultEncryptionType
uint8_t
نوع التشفير التلقائي للرسائل.
DefaultKeyId
uint16_t
مفتاح التشفير التلقائي المُستخدَم عند إرسال الرسائل.
MessageLayer
[READ ONLY] كائن WeaveMessageLayer المرتبط.
NetworkType
uint8_t
[READ ONLY] نوع الشبكة لنقطة النهاية المرتبطة.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] عنوان IP لعقدة النظير
PeerNodeId
uint64_t
[READ ONLY] معرّف العقدة المعنيّة.
PeerPort
uint16_t
[READ ONLY] رقم المنفذ لعقدة النظير
ReceiveEnabled
bool
[READ ONLY] True إذا كان الاستلام مفعّلاً، وخطأ في الحالات الأخرى.
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 الخاص بالنظير.

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

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

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

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

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

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[READ ONLY] عنوان IP لعقدة النظير

PeerNodeId

uint64_t PeerNodeId

[READ ONLY] معرّف العقدة المعنيّة.

PeerPort

uint16_t PeerPort

[READ ONLY] رقم المنفذ لعقدة النظير

ReceiveEnabled

bool ReceiveEnabled

[READ ONLY] True إذا كان الاستلام مفعّلاً، وخطأ في الحالات الأخرى.

SendDestNodeId

bool SendDestNodeId

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

SendSourceNodeId

bool SendSourceNodeId

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

الحالة

uint8_t State

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

وظائف عامة

إلغاء

void Abort(
  void
)

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

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

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

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

AddRef

void AddRef(
  void
)

احتفِظ بمرجع للكائن WeaveConnection.

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

إغلاق

WEAVE_ERROR Close(
  void
)

يتم إجراء إغلاق سلس لـ WeaveConnection المستنِد إلى بروتوكول TCP أو BLE، مع تسليم أي بيانات صادرة متبقية قبل إبلاغ المضيف البعيد بأدب بأنّه قد تمت إعادة ضبط الاتصال.

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

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

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

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

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

إغلاق

WEAVE_ERROR Close(
  bool suppressCloseLog
)

يتم إجراء إغلاق سلس لـ WeaveConnection المستنِد إلى بروتوكول TCP أو BLE، مع تسليم أي بيانات صادرة متبقية قبل إبلاغ المضيف البعيد بأدب بأنّه قد تمت إعادة ضبط الاتصال.

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

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

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

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

التفاصيل
المعلمات
[in] suppressCloseLog
true إذا كان يلزم إلغاء السجلات، أو false في الحالات الأخرى.
المرتجعات
WEAVE_NO_ERROR بدون شرط.
يمكنك أيضًا الاطّلاع على:
Pause() و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
أخطاء طبقة Inet الناتجة عن عمليات اتصال 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
أخطاء طبقة Inet الناتجة عن عمليات اتصال 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 وUnauthentication.
[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
أخطاء طبقة Inet الناتجة عن عمليات اتصال TCPEndPoint

ربط

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

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

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


:

:

[]:

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

ربط

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

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

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


:

:

[]:

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

ربط

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

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

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


:

:

[]:

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

DisableReceive

void DisableReceive(
  void
)

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

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

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

EnableKeepAlive

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

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

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
أخطاء طبقة Inet المتعلقة بإعداد نقطة نهاية TCP لمهلة مستخدم TCP.

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

WEAVE_ERROR Shutdown(
  void
)

يجري إيقاف تشغيل إرسال TCP بطريقة سلسة، مع التأكد من إرسال جميع البيانات الصادرة واستلامها بواسطة مكدس TCP الخاص بالنظير.

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

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