nl::Weave::Binding::Configuration

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

ממשק בסגנון הצהרתי להגדרה ולהכנה של אובייקט Binding.

סיכום

כשמגדירים קישור, האפליקציות חייבות להפעיל לפחות שיטה אחת מכל אחת מקבוצות ההגדרות הבאות: Target, Transport ואבטחה. ייתכן שניתן לקרוא לשיטות אחרות לפי הצורך כדי לשנות את התנהגות ברירת המחדל.

אם אתם מפעילים הגדרות בלעדיות בו-זמנית (למשל, הפונקציה Transport_TCP() ולאחר מכן Transport_UDP()), והאחרונה לקרוא היא מנצחת.

פונקציות ציבוריות

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
צריך להגדיר את הקישור כדי לאפשר תקשורת עם השולח של הודעה שהתקבלה.
DNS_Options(uint8_t dnsOptions)
כשמגדירים את שם המארח של האפליקציה השכנה, משתמשים באפשרויות ה-DNS שצוינו.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
צריך להגדיר כברירת מחדל את הזמן הקצוב לתפוגה של תגובה עבור הקשרים של Exchange שנוצרו מאובייקט ה-Binding הזה.
GetError(void) const
מחזירים שגיאה שהתרחשה במהלך הגדרת ה-Binding.
PrepareBinding(void)
להיות התהליך של הכנת הקישור לתקשורת עם האפליקציות להשוואה.
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, בממשק הרשת ובממשק ה-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)
בתקשורת עם האפליקציה השכנה, צריך להשתמש בכתובת מבד של Weave שנגזרת ממזהה הצומת של האפליקציה השכנה ומרשת משנה ספציפית.
TargetAddress_WeaveService(void)
בתקשורת עם האפליקציה השכנה, צריך להשתמש בכתובת מבד של שירות Weave שנגזרת ממזהה הצומת של האפליקציה השכנה.
Target_NodeId(uint64_t aPeerNodeId)
הגדרת הקישור לתקשורת עם מזהה צומת ספציפי של Weave.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
הגדרת הקישור כדי לתקשר עם נקודת קצה ספציפית של שירות Weave.
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
צריך לקבוע את הגדרות ברירת המחדל של WRMP להקשרי Exchange שנוצרו מאובייקט ה-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 False 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
)

צריך להגדיר כברירת מחדל את הזמן הקצוב לתפוגה של תגובה עבור הקשרי Exchange שנוצרו מאובייקט ה-Binding הזה.

פרטים
פרמטרים
[in] aResponseTimeoutMsec
זמן התגובה שמוגדר כברירת מחדל, באלפיות השנייה.
החזרות
הפניה לאובייקט הקישור.

GetError

WEAVE_ERROR GetError(
  void
) const 

מחזירים שגיאה שהתרחשה במהלך הגדרת ה-Binding.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

להיות התהליך של הכנת הקישור לתקשורת עם אפליקציות להשוואה.

Security_AppGroupKey

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

בתקשורת עם אפליקציה להשוואה, צריך לשלוח ולקבל הודעות שהוצפנו עבור קבוצת אפליקציות Weave מסוימת.

פרטים
פרמטרים
[in] aAppGroupGlobalId
המזהה הגלובלי של קבוצת האפליקציות שעבורה צריך להצפין את ההודעות.
[in] aRootKeyId
מפתח הבסיס המשמש להפקת מפתחות ההצפנה של קבוצת אפליקציות Weave שצוינה.
[in] aUseRotatingKey
הערך הוא True אם קבוצת האפליקציות Weave משתמשת במפתחות הודעות משתנים.
החזרות
הפניה לאובייקט Binding.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

הגדרת מצב האימות המבוקש שישמש לאימות האפליקציות השכנות.

פרטים
פרמטרים
[in] aAuthMode
מצב האימות המבוקש.
החזרות
הפניה לאובייקט Binding.

Security_CASESession

Configuration & Security_CASESession(
  void
)

בתקשורת עם אפליקציה להשוואה, צריך לשלוח ולקבל הודעות שהוצפנו באמצעות מפתח סשן CASE שנוצר באמצעות הצומת של האפליקציה השכנה.

אם הסשן הדרוש לא זמין, הוא ייווצר באופן אוטומטי כחלק מהכנת הקישור.

פרטים
החזרות
הפניה לאובייקט הקישור.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

בתקשורת עם אפליקציה להשוואה, צריך לשלוח ולקבל הודעות שמוצפנות באמצעות סוג ההצפנה שצוין.

פרטים
פרמטרים
[in] aEncType
סוג ההצפנה של הודעת Weave.
החזרות
הפניה לאובייקט Binding.

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

בתקשורת עם אפליקציה להשוואה, צריך לשלוח ולקבל הודעות שהוצפנו באמצעות מפתח ספציפי.

פרטים
פרמטרים
[in] aKeyId
המזהה של מפתח ההצפנה. המפתח שצוין חייב להיות מתאים להצפנת הודעות של Weave.
החזרות
הפניה לאובייקט Binding.

Security_None

Configuration & Security_None(
  void
)

בתקשורת עם אפליקציה להשוואה, צריך לשלוח ולקבל הודעות ללא הצפנה (כלומר

לא מאובטחות).

פרטים
החזרות
הפניה לאובייקט הקישור.

Security_PASESession

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_TAKESession

Configuration & Security_TAKESession()

בתקשורת עם האפליקציה השכנה, צריך לשלוח ולקבל הודעות שהוצפנו באמצעות מפתח סשן TAKE שנוצר באמצעות הצומת של האפליקציה השכנה.

אם הסשן הדרוש לא זמין, הוא ייווצר באופן אוטומטי כחלק מהכנת הקישור.

פרטים
החזרות
הפניה לאובייקט הקישור.

TargetAddress_IP

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

בתקשורת עם האפליקציה השכנה, צריך להשתמש בכתובת ה-IP, בממשק הרשת ובממשק ה-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
)

בתקשורת עם האפליקציה השכנה, צריך להשתמש בכתובת מבד של Weave שנגזרת ממזהה הצומת של האפליקציה השכנה ומרשת משנה ספציפית.

פרטים
פרמטרים
[in] aSubnetId
מזהה רשת המשנה שישמש ליצירת כתובת האריג של Weave של האפליקציה להשוואה.
החזרות
הפניה לאובייקט הקישור.

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.

אם לא מגדירים אחרת, כתובת האפליקציה להשוואה מוגדרת לכתובת מבד ה-Weave של נקודת הקצה של השירות.

פרטים
פרמטרים
[in] serviceEndpointId
מזהה הצומת של נקודת הקצה של השירות שאיתה תתבצע התקשורת.
החזרות
הפניה לאובייקט הקישור.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

צריך לקבוע את הגדרות ברירת המחדל של WRMP להקשרי Exchange שנוצרו מאובייקט ה-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 False Messaging בתקשורת עם אפליקציה להשוואה.

פרטים
החזרות
הפניה לאובייקט הקישור.