nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent

סיכום

בנייה

WeaveTunnelAgent(void)

סוגים ציבוריים

AgentState{
  kState_NotInitialized = 0,
  kState_Initialized_NoTunnel = 1,
  kState_PrimaryTunModeEstablished = 2,
  kState_BkupOnlyTunModeEstablished = 3,
  kState_PrimaryAndBkupTunModeEstablished = 4
}
טיפוסים בני מנייה (enum)
המדינות של סוכן המנהרה ביחס לקשרים שלו לשירות.
AgentState typedef
המדינות של סוכן המנהרה ביחס לקשרים שלו לשירות.
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
מצביע הפונקציה ל-handler שמוגדר על ידי שכבה גבוהה יותר כשמתקבל שירות 'חיבור מחדש של מנהרה'.
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
מצביע הפונקציה ל-handler שמוגדרת על ידי שכבה גבוהה יותר כדי לבצע פעולות בהתראות שונות שקשורות למנהרה לשירות.
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt) typedef
void(*
סמן הפונקציה ל-handler שסופק על ידי האפליקציה לביצוע בדיקה אונליין ברמת הרשת.
WeaveTunnelFlags{
  kTunnelFlag_PrimaryEnabled = 0x01,
  kTunnelFlag_BackupEnabled = 0x02,
  kTunnelFlag_PrimaryRestricted = 0x04,
  kTunnelFlag_BackupRestricted = 0x08
}
טיפוסים בני מנייה (enum)
שזירה ביטים של דגל מנהרה.
WeaveTunnelFlags typedef
שזירה ביטים של דגל מנהרה.

מאפיינים ציבוריים

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
מצביע הפונקציה ל-handler שמוגדרת על ידי שכבה גבוהה יותר כדי לבצע פעולה בהתראות שונות שקשורות למנהרה לשירות.
mServiceMgr
WeaveServiceManager *
הסמן של מנהל השירות שבאמצעותו צריך לחפש את השירות ולהתחבר אליו.

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

DisablePrimaryTunnel(void)
void
השבתת המנהרה הראשית.
EnablePrimaryTunnel(void)
void
הפעלת מנהרה ראשית.
GetAgentStateName(const AgentState state)
const char *
מקבלים את השם של WeaveTunnelAgentState.
GetTimeMsec(void)
uint64_t
קבלת זמן המערכת באלפיות השנייה.
GetWeaveTunnelAgentState(void)
מוצאים את מצב TunnelAgent.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
מפעילים את סוכן המנהרה.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
מפעילים את סוכן המנהרה.
IsPrimaryTunnelEnabled(void) const
bool
צריך לבדוק אם המנהרה הראשית מופעלת.
IsPrimaryTunnelRoutingRestricted(void)
bool
צריך לבדוק אם המנהרה הראשית כפופה להגבלות ניתוב על ידי השירות.
IsTunnelRoutingRestricted(void)
bool
צריך לבדוק אם המנהרה כפופה להגבלות ניתוב על ידי השירות.
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
void
תתבצע קריאה חוזרת על ידי הפלטפורמה כשהתוצאה של כלי הבדיקה אונליין של הרשת זמינה.
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
מאפסים את זמן החיבור מחדש של המנהרה הראשית.
SetAuthMode(const WeaveAuthMode authMode)
void
מגדירים את WeaveAuthMode למנהרה.
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
מגדירים את ערך ה-NodeId של היעד, IPAddress והיציאה של המנהרה.
SetTunnelingDeviceRole(const Role role)
void
מגדירים את התפקיד 'מנהור מכשיר' (BorderGateway, StandaloneDevice, MobileDevice) למנהרה.
Shutdown(void)
כיבוי סוכן המנהרה.
StartServiceTunnel(void)
מפעילים את מנהרת השירות.
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
מפעילים את מנהרת השירות.
StopServiceTunnel(void)
void
סגירת חיבור המנהרה לשירות.
StopServiceTunnel(WEAVE_ERROR err)
void
סגירת חיבור המנהרה לשירות.

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

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
מטפל לקבלת חבילות IPv6 מנהרות דרך מנהרת ה-UDP של קיצור הדרך בין שער הגבול לבין המכשיר הנייד, והעברה לממשק ה-Tunnel EndPoint אחרי ביטול המכסה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
מטפל לקבלת חבילות IPv6 מממשק Tunnel EndPoint והעברה אל השירות דרך חיבור Service TCP אחרי מכסה של חבילת IPv6 בתוך כותרת המנהרה, או ללקוח לנייד דרך מנהרת קיצור דרך.

סוגים ציבוריים

AgentState

 AgentState

המדינות של סוכן המנהרה ביחס לקשרים שלו לשירות.

מאפיינים
kState_BkupOnlyTunModeEstablished

משמשת כדי לציין שנוצרה מנהרת הגיבוי לשירות.

kState_Initialized_NoTunnel

משמש כדי לציין שסוכן המנהרה הופעל, אבל לא הוגדרה מנהרה.

kState_NotInitialized

משמש כדי לציין שסוכן המנהרה לא מאותחל.

kState_PrimaryAndBkupTunModeEstablished

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

kState_PrimaryTunModeEstablished

משמשת כדי לציין שהוקמה המנהרה הראשית לשירות.

AgentState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

המדינות של סוכן המנהרה ביחס לקשרים שלו לשירות.

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

מצביע הפונקציה ל-handler שמוגדר על ידי שכבה גבוהה יותר כשמתקבל שירות 'חיבור מחדש של מנהרה'.

פרטים
פרמטרים
[in] tunType
סוג המנהרה: 'ראשית' או 'גיבוי'.
[in] reconnectHost
שם המארח שסופק על ידי השירות כדי להתחבר אליו מחדש.
[in] reconnectPort
יציאת היעד שסופקה על ידי השירות כדי להתחבר אליה.
[in] appCtxt
מצביע לאובייקט הקשר של אפליקציה

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

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

פרטים
פרמטרים
[in] reason
הסיבה לשליחת ההודעה לגבי הסטטוס לאפליקציה.
[in] err
אירעה שגיאת רשת, אם קיימת
[in] appCtxt
מצביע לאובייקט הקשר של אפליקציה

PlatformNetworkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

סמן הפונקציה ל-handler שסופק על ידי האפליקציה לביצוע בדיקה אונליין ברמת הרשת.

פרטים
פרמטרים
[in] tunType
סוג המנהרה: 'ראשית' או 'גיבוי'.
[in] appCtxt
מצביע לאובייקט הקשר של אפליקציה

WeaveTunnelFlags

 WeaveTunnelFlags

שזירה ביטים של דגל מנהרה.

מאפיינים
kTunnelFlag_BackupEnabled

להגדיר מתי מנהרת הגיבוי מופעלת.

kTunnelFlag_BackupRestricted

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

kTunnelFlag_PrimaryEnabled

צריך להגדיר מתי המנהרה הראשית מופעלת.

kTunnelFlag_PrimaryRestricted

צריך להגדיר מתי המנהרה הראשית מוגבלת.

WeaveTunnelFlags

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

שזירה ביטים של דגל מנהרה.

מאפיינים ציבוריים

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

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

mServiceMgr

WeaveServiceManager * mServiceMgr

הסמן של מנהל השירות שבאמצעותו אפשר לחפש את השירות ולהתחבר אליו.

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

DisablePrimaryTunnel

void DisablePrimaryTunnel(
  void
)

השבתת המנהרה הראשית.

השבתת המנהרה הראשית.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

הפעלת מנהרה ראשית.

הפעלת המנהרה הראשית.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

מקבלים את השם של WeaveTunnelAgentState.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

קבלת זמן המערכת באלפיות השנייה.

קבלת זמן מערכת או זמן מונוטוני באלפיות שנייה אם זמן המערכת לא זמין.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

מוצאים את מצב TunnelAgent.

פרטים
החזרות
AgentState במצב הנוכחי של WeaveTunnelAgent.

Init

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

מפעילים את סוכן המנהרה.

הפעולה הזו יוצרת אובייקט נקודת קצה Tunnel, מגדירה את ממשק המנהרה, מאתחלת משתני חברים, קריאה חוזרת (callback) ואת WeaveTunnelControl.

Init

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

מפעילים את סוכן המנהרה.

הפעולה הזו יוצרת אובייקט נקודת קצה Tunnel, מגדירה את ממשק המנהרה, מאתחלת משתני חברים, קריאה חוזרת (callback) ואת WeaveTunnelControl.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

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

פרטים
החזרות
אם הוא מופעל, אחרת הוא False.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

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

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

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

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

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

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

פרטים
החזרות
true אם נוצרה מנהרה ראשית או מנהרת גיבוי, והשירותים כפופות להגבלות ניתוב.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

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

פרטים
פרמטרים
[in] tunType
סוג המנהרה התואם לממשק שבו מתבצעת בדיקת הקישוריות לרשת.
[in] isOnline
הערך הוא True אם הרשת מחוברת לאינטרנט. אחרת, False.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

מאפסים את זמן החיבור מחדש של המנהרה הראשית.

פרטים
פרמטרים
[in] reconnectImmediately
הערך הוא True אם צריך להתחבר מחדש באופן מיידי, אחרת ייעשה שימוש בזמן הזמן הקצוב לתפוגה שהוגדר לעדכון.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

מגדירים את WeaveAuthMode למנהרה.

פרטים
פרמטרים
[in] authMode
מצב האימות של Weave בשימוש עם אפליקציות להשוואה.

SetDestination

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

מגדירים את ערך ה-NodeId של היעד, IPAddress והיציאה של המנהרה.

מגדירים את NodeId ו-IPAddress של המנהרה.

פרטים
פרמטרים
[in] nodeId
מזהה הצומת של צומת היעד.
[in] ipAddr
כתובת ה-IP של צומת היעד.
[in] servicePort
היציאה של צומת היעד.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

מגדירים את התפקיד 'מנהור מכשיר' (BorderGateway, StandaloneDevice, MobileDevice) למנהרה.

מגדירים את תפקיד המכשיר במנהור(BorderGateway לעומת Standalone) למנהרה.

פרטים
פרמטרים
[in] role
תפקיד שהוגדר על ידי סוכן מנהרה שער גבול, מכשיר עצמאי או מכשיר נייד.

כיבוי

WEAVE_ERROR Shutdown(
  void
)

כיבוי סוכן המנהרה.

פעולה זו גורמת לניתוק החיבור לשירות ולסגירת ממשק TunEndPoint לאחר הסרת הכתובות והמסלולים המשויכים לממשק המנהרה.

פעולה זו גורמת לניתוק החיבור לשירות ולסגירת ממשק TunEndPoint לאחר הסרת הכתובות והמסלולים המשויכים לממשק המנהרה.

פרטים
החזרות
WEAVE_NO_ERROR עקב הצלחה, אחרת סוג WEAVE_ERROR תואם.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

מפעילים את מנהרת השירות.

הפעולה הזו מפעילה את המנהרה ומנסה ליצור חיבור לשירות.

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

פרטים
החזרות
WEAVE_NO_ERROR עקב הצלחה, אחרת סוג WEAVE_ERROR תואם.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

מפעילים את מנהרת השירות.

הפעולה הזו מפעילה את המנהרה ומנסה ליצור חיבור לשירות.

StopServiceTunnel

void StopServiceTunnel(
  void
)

סגירת חיבור המנהרה לשירות.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

סגירת חיבור המנהרה לשירות.

פרטים
פרמטרים
[in] err
WEAVE_NO_ERROR אם אין סיבה ספציפית לבקשת StopServiceTunnel זו, אחרת סיבת השגיאה תועבר הלאה.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

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

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

מטפל כדי לקבל חבילות IPv6 מנהרות דרך מנהרת ה-UDP של קיצור הדרך בין שער הגבול לבין המכשיר הנייד, ולעבור לממשק EndPoint של המנהרה אחרי ביטול המכסה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.

מטפל לקבלת חבילות IPv6 מנהרות מחיבור TCP של שירות והעברה לממשק EndPoint של המנהרה, לאחר ביטול המכסה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.

פרטים
פרמטרים
[in] con
מצביע אל האובייקט WeaveConnection.
[in] msgInfo
מצביע אל האובייקט WeaveMessageInfo.
[in] message
מצביע אל האובייקט PacketBuffer שמחזיק את חבילת ה-IPv6 המרובעת.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

מטפל לקבלת חבילות IPv6 מממשק Tunnel EndPoint והעברה אל השירות דרך חיבור Service TCP אחרי מכסה של חבילת IPv6 בתוך כותרת המנהרה, או ללקוח לנייד דרך מנהרת קיצור דרך.

מטפל שמקבל חבילות IPv6 מממשק Tunnel EndPoint והעברה אל השירות דרך חיבור Service TCP אחרי מכסה של חבילת IPv6 בתוך כותרת המנהרה, או ללקוח נייד במנהרה מקומית.

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

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

פרטים
פרמטרים
[in] tunEP
מצביע לאובייקט TunEndPoint.
[in] message
מצביע אל האובייקט PacketBuffer שמחזיק את חבילת ה-IPv6 הגולמית.