nl:: بافت:: الزام آور:: پیکربندی

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

یک رابط به سبک اظهاری برای پیکربندی و آماده سازی یک شی Binding ارائه می دهد.

خلاصه

هنگام پیکربندی Binding ، برنامه‌ها باید حداقل یک روش را از هر یک از گروه‌های پیکربندی زیر فراخوانی کنند: Target، Transport و Security. ممکن است روش‌های دیگری در صورت نیاز برای نادیده گرفتن رفتار پیش‌فرض فراخوانی شود.

اگر پیکربندی‌های انحصاری متقابل فراخوانی شوند (مثلاً Transport_TCP() و به دنبال آن Transport_UDP() )، آخرین موردی که نامیده می‌شود برنده می‌شود.

توابع عمومی

ConfigureFromMessage (const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
اتصال را پیکربندی کنید تا امکان برقراری ارتباط با فرستنده پیام دریافتی فراهم شود.
DNS_Options (uint8_t dnsOptions)
هنگام حل نام میزبان همتا، از گزینه های DNS مشخص شده استفاده کنید.
Exchange_ResponseTimeoutMsec (uint32_t aResponseTimeoutMsec)
زمان پاسخگویی پیش‌فرض را برای زمینه‌های تبادل ایجاد شده از این شی Binding تنظیم کنید.
GetError (void) const
هر خطایی را که هنگام پیکربندی Binding رخ داده است، برگردانید.
PrepareBinding (void)
فرآیند آماده سازی Binding برای ارتباط با همتا است.
Security_AppGroupKey (uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده برای یک گروه برنامه Weave خاص ارسال و دریافت کنید.
Security_AuthenticationMode (WeaveAuthMode aAuthMode)
حالت احراز هویت درخواستی را تنظیم کنید تا برای احراز هویت همتا استفاده شود.
Security_CASESession (void)
هنگام برقراری ارتباط با همتا، پیام ها را با استفاده از یک کلید جلسه CASE که با گره همتا ایجاد شده است، رمزگذاری شده ارسال و دریافت کنید.
Security_EncryptionType (uint8_t aEncType)
هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از نوع رمزگذاری پیام مشخص شده ارسال و دریافت کنید.
Security_Key (uint32_t aKeyId)
هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از یک کلید مشخص ارسال و دریافت کنید.
Security_None (void)
هنگام برقراری ارتباط با همتا، ارسال و دریافت رمزگذاری نشده (یعنی
Security_PASESession (uint8_t aPasswordSource)
هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از یک کلید جلسه PASE که با گره همتا ایجاد شده است، ارسال و دریافت کنید.
Security_SharedCASESession (void)
هنگام برقراری ارتباط با همتا، پیام‌های رمزگذاری شده با استفاده از کلید جلسه CASE مشترک که با روتر هسته Nest ایجاد شده است، ارسال و دریافت کنید.
Security_SharedCASESession (uint64_t aRouterNodeId)
هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از یک کلید جلسه CASE مشترک که با یک گره روتر مشخص ایجاد شده است، ارسال و دریافت کنید.
Security_TAKESession ()
هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از کلید جلسه TAKE که با گره همتا ایجاد شده است، ارسال و دریافت کنید.
TargetAddress_IP ( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
هنگام برقراری ارتباط با همتا، از آدرس IP خاص، پورت و رابط شبکه استفاده کنید.
TargetAddress_IP (const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
هنگام برقراری ارتباط با همتا، از نام میزبان خاص، پورت و رابط شبکه استفاده کنید.
TargetAddress_IP (const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
هنگام برقراری ارتباط با همتا، از نام میزبان خاص، پورت و رابط شبکه استفاده کنید.
TargetAddress_WeaveFabric (uint16_t aSubnetId)
هنگام برقراری ارتباط با همتا، از یک آدرس بافت بافت استفاده کنید که از شناسه گره همتا و یک زیرشبکه مشخص گرفته شده است.
TargetAddress_WeaveService (void)
هنگام برقراری ارتباط با همتا، از آدرس پارچه سرویس Weave استفاده کنید که از شناسه گره همتا مشتق شده است.
Target_NodeId (uint64_t aPeerNodeId)
اتصال را برای ارتباط با یک شناسه گره Weave خاص پیکربندی کنید.
Target_ServiceEndpoint (uint64_t aPeerNodeId)
اتصال را برای ارتباط با یک نقطه پایانی سرویس Weave خاص پیکربندی کنید.
Transport_DefaultWRMPConfig (const WRMPConfig & aWRMPConfig)
پیکربندی پیش‌فرض WRMP را برای زمینه‌های تبادل ایجاد شده از این شی Binding تنظیم کنید.
Transport_ExistingConnection ( WeaveConnection *apConnection)
از یک اتصال Weave موجود برای برقراری ارتباط با همتا استفاده کنید.
Transport_TCP (void)
از TCP برای ارتباط با همتا استفاده کنید.
Transport_UDP (void)
از UDP برای برقراری ارتباط با همتا استفاده کنید.
Transport_UDP_PathMTU (uint32_t aPathMTU)
مسیر مورد انتظار MTU را برای بسته های UDP که به طرف همتا می روند، تنظیم کنید.
Transport_UDP_WRM (void)
هنگام برقراری ارتباط با همتا از پروتکل Weave Reliable Messaging استفاده کنید.

توابع عمومی

ConfigureFromMessage

Configuration & ConfigureFromMessage(
  const WeaveMessageInfo *aMsgInfo,
  const Inet::IPPacketInfo *aPacketInfo
)

اتصال را پیکربندی کنید تا امکان برقراری ارتباط با فرستنده پیام دریافتی فراهم شود.

جزئیات
مولفه های
[in] aMsgInfo
ساختار اطلاعات پیام مرتبط با پیام دریافتی.
[in] aPacketInfo
اطلاعات بسته برای پیام دریافتی.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

هنگام حل نام میزبان همتا، از گزینه های DNS مشخص شده استفاده کنید.

جزئیات
مولفه های
[in] dnsOptions
یک مقدار صحیح که نحوه انجام وضوح نام میزبان را کنترل می کند. مقدار باید یکی از مقادیر #::nl::Inet::DNSOptions باشد.
برمی گرداند
اشاره به شیء الزام آور.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

زمان پاسخگویی پیش‌فرض را برای زمینه‌های تبادل ایجاد شده از این شی Binding تنظیم کنید.

جزئیات
مولفه های
[in] aResponseTimeoutMsec
زمان پاسخگویی پیش‌فرض، بر حسب میلی‌ثانیه.
برمی گرداند
اشاره به شیء الزام آور.

GetError

WEAVE_ERROR GetError(
  void
) const 

هر خطایی را که هنگام پیکربندی Binding رخ داده است، برگردانید.

آماده کردن صحافی

WEAVE_ERROR PrepareBinding(
  void
)

فرآیند آماده سازی Binding برای ارتباط با همتا است.

Security_AppGroupKey

Configuration & Security_AppGroupKey(
  uint32_t aAppGroupGlobalId,
  uint32_t aRootKeyId,
  bool aUseRotatingKey
)

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

جزئیات
مولفه های
[in] aAppGroupGlobalId
شناسه جهانی گروه برنامه که پیام ها باید برای آن رمزگذاری شوند.
[in] aRootKeyId
کلید ریشه ای که برای استخراج کلیدهای رمزگذاری برای گروه برنامه کاربردی Weave استفاده می شود.
[in] aUseRotatingKey
درست است اگر گروه برنامه Weave از کلیدهای پیام چرخشی استفاده کند.
برمی گرداند
ارجاع به شی Binding .

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

حالت احراز هویت درخواستی را تنظیم کنید تا برای احراز هویت همتا استفاده شود.

جزئیات
مولفه های
[in] aAuthMode
حالت احراز هویت درخواستی
برمی گرداند
ارجاع به شی Binding .

Security_CASESsesion

Configuration & Security_CASESession(
  void
)

هنگام برقراری ارتباط با همتا، پیام ها را با استفاده از یک کلید جلسه CASE که با گره همتا ایجاد شده است، رمزگذاری شده ارسال و دریافت کنید.

اگر جلسه لازم در دسترس نباشد، به عنوان بخشی از آماده سازی صحافی به طور خودکار برقرار می شود.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از نوع رمزگذاری پیام مشخص شده ارسال و دریافت کنید.

جزئیات
مولفه های
[in] aEncType
نوع رمزگذاری پیام Weave.
برمی گرداند
ارجاع به شی Binding .

کلید امنیتی

Configuration & Security_Key(
  uint32_t aKeyId
)

هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از یک کلید مشخص ارسال و دریافت کنید.

جزئیات
مولفه های
[in] aKeyId
شناسه کلید رمزگذاری کلید مشخص شده باید برای رمزگذاری پیام Weave مناسب باشد.
برمی گرداند
ارجاع به شی Binding .

امنیت_هیچ

Configuration & Security_None(
  void
)

هنگام برقراری ارتباط با همتا، ارسال و دریافت رمزگذاری نشده (یعنی

پیام های ناامن)

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

Security_PASESsion

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از یک کلید جلسه PASE که با گره همتا ایجاد شده است، ارسال و دریافت کنید.

اگر جلسه لازم در دسترس نباشد، به عنوان بخشی از آماده سازی صحافی به طور خودکار برقرار می شود.

جزئیات
مولفه های
[in] aPasswordSource
منبع رمز عبور مورد استفاده در هنگام ایجاد جلسه PASE.
برمی گرداند
اشاره به شیء الزام آور.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

هنگام برقراری ارتباط با همتا، پیام‌های رمزگذاری شده با استفاده از کلید جلسه CASE مشترک که با روتر هسته Nest ایجاد شده است، ارسال و دریافت کنید.

اگر جلسه لازم در دسترس نباشد، به عنوان بخشی از آماده سازی صحافی به طور خودکار برقرار می شود.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از یک کلید جلسه CASE مشترک که با یک گره روتر مشخص ایجاد شده است، ارسال و دریافت کنید.

اگر جلسه لازم در دسترس نباشد، به عنوان بخشی از آماده سازی صحافی به طور خودکار برقرار می شود.

جزئیات
مولفه های
[in] aRouterNodeId
شناسه گره Weave روتر که باید با آن جلسه CASE مشترک ایجاد شود.
برمی گرداند
اشاره به شیء الزام آور.

Security_TAKESجلسه

Configuration & Security_TAKESession()

هنگام برقراری ارتباط با همتا، پیام های رمزگذاری شده با استفاده از کلید جلسه TAKE که با گره همتا ایجاد شده است، ارسال و دریافت کنید.

اگر جلسه لازم در دسترس نباشد، به عنوان بخشی از آماده سازی صحافی به طور خودکار برقرار می شود.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

TargetAddress_IP

Configuration & TargetAddress_IP(
  nl::Inet::IPAddress aPeerAddress,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

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

جزئیات
مولفه های
[in] aPeerAddress
آدرس IP برای همتا
[in] aPeerPort
پورت از راه دور
[in] aInterfaceId
شناسه رابط شبکه محلی برای استفاده برای ارتباط
برمی گرداند
اشاره به شیء الزام آور.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

هنگام برقراری ارتباط با همتا، از نام میزبان خاص، پورت و رابط شبکه استفاده کنید.

توجه: تماس گیرنده باید اطمینان حاصل کند که رشته نام میزبان ارائه شده تا پایان مرحله آماده سازی اتصال معتبر باقی می ماند.

جزئیات
مولفه های
[in] aHostName
یک رشته با پایان NULL حاوی نام میزبان همتا.
[in] aPeerPort
پورت راه دور برای استفاده در هنگام برقراری ارتباط با همتا.
[in] aInterfaceId
شناسه رابط شبکه محلی برای استفاده برای ارتباط.
برمی گرداند
اشاره به شیء الزام آور.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  size_t aHostNameLen,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

هنگام برقراری ارتباط با همتا، از نام میزبان خاص، پورت و رابط شبکه استفاده کنید.

توجه: تماس گیرنده باید اطمینان حاصل کند که رشته نام میزبان ارائه شده تا پایان مرحله آماده سازی اتصال معتبر باقی می ماند.

جزئیات
مولفه های
[in] aHostName
رشته ای حاوی نام میزبان همتا. این رشته نیازی به پایان NULL ندارد.
[in] aHostNameLen
طول رشته ای که توسط aHostName به آن اشاره شده است.
[in] aPeerPort
پورت راه دور برای استفاده در هنگام برقراری ارتباط با همتا.
[in] aInterfaceId
شناسه رابط شبکه محلی برای استفاده برای ارتباط.
برمی گرداند
اشاره به شیء الزام آور.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

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

جزئیات
مولفه های
[in] aSubnetId
شناسه زیرشبکه ای که برای تشکیل آدرس بافت بافت همتا استفاده می شود.
برمی گرداند
اشاره به شیء الزام آور.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

هنگام برقراری ارتباط با همتا، از آدرس پارچه سرویس Weave استفاده کنید که از شناسه گره همتا مشتق شده است.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

اتصال را برای ارتباط با یک شناسه گره Weave خاص پیکربندی کنید.

جزئیات
مولفه های
[in] aPeerNodeId
شناسه گره گره همتا.
برمی گرداند
اشاره به شیء الزام آور.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

اتصال را برای ارتباط با یک نقطه پایانی سرویس Weave خاص پیکربندی کنید.

اگر به شکل دیگری پیکربندی نشده باشد، آدرس همتا بر روی آدرس بافت بافت نقطه پایانی سرویس تنظیم می شود.

جزئیات
مولفه های
[in] serviceEndpointId
شناسه گره نقطه پایانی سرویس که با آن ارتباط برقرار خواهد شد.
برمی گرداند
اشاره به شیء الزام آور.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

پیکربندی پیش‌فرض WRMP را برای زمینه‌های تبادل ایجاد شده از این شی Binding تنظیم کنید.

جزئیات
مولفه های
[in] aWRMPConfig
اشاره ای به پیکربندی پیش فرض WRMP جدید.
برمی گرداند
اشاره به شیء الزام آور.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

از یک اتصال Weave موجود برای برقراری ارتباط با همتا استفاده کنید.

توجه: هنگامی که آماده سازی صحافی موفقیت آمیز باشد، تعداد مرجع در شیء اتصال افزایش می یابد. بنابراین برنامه مسئول اطمینان از زنده ماندن شی اتصال تا آن زمان است.

جزئیات
مولفه های
[in] con
اشاره گر به اتصال Weave موجود.
برمی گرداند
اشاره به شیء الزام آور.

Transport_TCP

Configuration & Transport_TCP(
  void
)

از TCP برای ارتباط با همتا استفاده کنید.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

Transport_UDP

Configuration & Transport_UDP(
  void
)

از UDP برای برقراری ارتباط با همتا استفاده کنید.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

مسیر مورد انتظار MTU را برای بسته های UDP که به طرف همتا می روند، تنظیم کنید.

برای برخی از پروتکل های Weave از این برای تنظیم پویا اندازه بار پیام Weave استفاده می شود.

جزئیات
مولفه های
[in] aPathMTU
مسیر مورد انتظار MTU برای بسته های UDP که به طرف همتا می روند.
برمی گرداند
اشاره به شیء الزام آور.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

هنگام برقراری ارتباط با همتا از پروتکل Weave Reliable Messaging استفاده کنید.

جزئیات
برمی گرداند
اشاره به شیء الزام آور.