nl:: بافت:: WeaveConnection

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

تعریف کلاس Weave Connection.

خلاصه

این نشان دهنده یک اتصال TCP یا BLE به گره Weave دیگر است.

انواع عمومی

@58 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
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
}
enum
نوع شبکه شیء اتصال 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
}
enum
آبجکت اتصال وضعیت بافت.
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
[READ ONLY] آدرس 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)
با استفاده از آدرس IP فابریک مشتق شده از شناسه گره مشخص شده، به گره Weave متصل شوید.
Connect (uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
با استفاده از شناسه گره و/یا آدرس IP به گره Weave متصل شوید.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
با استفاده از شناسه گره و/یا آدرس IP در یک رابط خاص به گره Weave متصل شوید.
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

نوع شبکه شیء اتصال 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

آبجکت اتصال وضعیت بافت.

خواص
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

[فقط خواندن] شی WeaveMessageLayer مرتبط.

نوع شبکه

uint8_t NetworkType

[فقط خواندن] نوع شبکه نقطه پایانی مرتبط.

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

[فقط خواندن] شناسه گره همتا.

PeerPort

uint16_t PeerPort

[فقط خواندن] شماره پورت گره همتا.

ReceiveEnabled

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() .

AdRef

void AddRef(
  void
)

یک مرجع به شی WeaveConnection رزرو کنید.

متد AddRef() تعداد مراجع مرتبط با شی WeaveConnection را افزایش می دهد. برای هر فراخوانی ()AdRef ، برنامه مسئول برقراری تماس مربوطه به 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
درست است اگر لاگ ها باید سرکوب شوند، در غیر این صورت false.
برمی گرداند
WEAVE_NO_ERROR بدون قید و شرط.
همچنین ببینید:
Shutdown() , Abort() , AddRef() و Release() .

اتصال

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

با استفاده از آدرس IP فابریک مشتق شده از شناسه گره مشخص شده، به گره Weave متصل شوید.

جزئیات
مولفه های
[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
)

با استفاده از شناسه گره و/یا آدرس IP به گره Weave متصل شوید.

جزئیات
مولفه های
[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
خطاهای لایه Inet که توسط عملیات اتصال TCPEndPoint ایجاد می شود.

اتصال

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

با استفاده از شناسه گره و/یا آدرس IP در یک رابط خاص به گره Weave متصل شوید.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره همتا، kNodeIdNotSpecified یا 0 در صورت ناشناخته بودن.
[in] authMode
حالت احراز هویت مورد نظر برای همتا. فقط حالت‌های CASE، PASE و Unauthenticated پشتیبانی می‌شوند.
[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
خطاهای لایه 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 و Unauthenticated پشتیبانی می‌شوند.
[in] peerAddr
آدرس یا نام میزبان همتا به عنوان یک رشته C با پایان NULL.
[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 و Unauthenticated پشتیبانی می‌شوند.
[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 و Unauthenticated پشتیبانی می‌شوند.
[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 keepalive را در اتصال TCP زیرین غیرفعال کنید.

توجه: این روش را فقط می توان در یک اتصال Weave که توسط یک اتصال TCP پشتیبانی می شود فراخوانی کرد. این روش فقط زمانی قابل فراخوانی است که اتصال در حالتی باشد که امکان ارسال را فراهم کند.

در صورتی که keepalives در اتصال فعال نشده باشد، این روش کاری انجام نمی دهد.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در غیرفعال کردن موفقیت آمیز پروب های TCP keepalive در اتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
اگر این تابع برای یک نقطه پایانی ناسازگار (به عنوان مثال، BLE) در لایه شبکه فراخوانی شود.
WEAVE_ERROR_INCORRECT_STATE
اگر شی WeaveConnection در وضعیت صحیح برای ارسال پیام نباشد.
other
خطاهای لایه Inet مربوط به نقطه پایانی TCP، عملیات keepalive را فعال می کند.

DisableReceive

void DisableReceive(
  void
)

دریافت از طریق این WeaveConnection را غیرفعال کنید.

این روش توسط برنامه استفاده می شود تا نشان دهد که آماده دریافت داده های وارد شده از طریق اتصال TCP نیست. برای فعال کردن مجدد دریافت، برنامه باید EnableReceive() را فراخوانی کند تا به WeaveConnection اجازه دهد تا هر داده دریافتی را با فراخوانی تماس‌های مناسب تحویل دهد.

همچنین ببینید:
EnableReceive()

EnableKeepAlive را فعال کنید

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive .

پروب های TCP keepalive را در اتصال TCP زیرین فعال کنید.

توجه: -این روش را فقط می توان در یک اتصال Weave که توسط یک اتصال TCP پشتیبانی می شود فراخوانی کرد. -این روش فقط زمانی قابل فراخوانی است که اتصال در حالتی باشد که امکان ارسال را فراهم کند.

جزئیات
مولفه های
[in] interval
فاصله (بر حسب ثانیه) بین پروب های نگهدارنده. این مقدار همچنین زمان بین آخرین بسته داده ارسال شده و ارسال اولین پروب نگهدارنده را کنترل می کند.
[in] timeoutCount
حداکثر تعداد پروب های تایید نشده قبل از اتصال شکست خورده تلقی می شود.

-این روش را می توان چندین بار فراخوانی کرد تا فاصله نگهداری یا شمارش تایم اوت تنظیم شود.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در فعال کردن موفقیت آمیز پروب نگهدارنده TCP در اتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
اگر این تابع برای یک نقطه پایانی ناسازگار (به عنوان مثال، BLE) در لایه شبکه فراخوانی شود.
WEAVE_ERROR_INCORRECT_STATE
اگر شی WeaveConnection در وضعیت صحیح برای ارسال پیام نباشد.
other
خطاهای لایه Inet مربوط به نقطه پایانی TCP، عملیات keepalive را فعال می کند.

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 

در حال ورود است

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

رهایی

void Release(
  void
)

تعداد مراجع را در شی WeaveConnection کاهش دهید.

متد Release() تعداد مراجع مرتبط با شی WeaveConnection را کاهش می دهد. اگر این باعث شود که تعداد مرجع به صفر برسد، اتصال بسته می شود و شی اتصال آزاد می شود. هنگامی که این اتفاق می افتد، برنامه نباید تعامل بیشتری با شیء داشته باشد.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout .

گزینه TCP timeout socket کاربر را به حالت پیش فرض سیستم بازنشانی کنید.

توجه: -این روش را فقط می توان در یک اتصال Weave که توسط یک اتصال TCP پشتیبانی می شود فراخوانی کرد. -این روش فقط زمانی قابل فراخوانی است که اتصال در حالتی باشد که امکان ارسال را فراهم کند.

-اگر تایم اوت کاربر روی اتصال تنظیم نشده باشد، این روش هیچ کاری انجام نمی دهد.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در بازنشانی موفقیت آمیز مهلت زمانی کاربر TCP در اتصال.
WEAVE_ERROR_NOT_IMPLEMENTED
اگر این تابع برای یک نقطه پایانی ناسازگار (به عنوان مثال، BLE) در لایه شبکه فراخوانی شود.
WEAVE_ERROR_INCORRECT_STATE
اگر شی WeaveConnection در وضعیت صحیح برای ارسال پیام نباشد.
other
خطاهای لایه Inet مربوط به بازنشانی نقطه پایانی 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
خطاهای لایه 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 timeout socket کاربر را تنظیم کنید.

وقتی مقدار بزرگتر از 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
خطاهای لایه 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() .