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)
מקבלים את המצב של סוכן המנהרה.
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
יש להגדיר את ה-צומת של היעד, את כתובת ה-IP ואת היציאה של המנהרה.
SetTunnelingDeviceRole(const Role role)
void
הגדרה של התפקיד Tunneling device(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 לאחר סגירה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
מטפל לקבלת מנות IPv6 מממשק Tunnel EndPoint והעברה לשירות דרך חיבור ה-Service TCP לאחר אנקפסולציה של חבילת IPv6 בתוך כותרת המנהרה או ללקוח Mobile דרך מנהרה לקיצורי דרך.

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

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
אירעו שגיאת Weave, אם הייתה
[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
)

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

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

הפעלה

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

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

הפעולה הזו יוצרת אובייקט נקודת קצה של מנהרה, מגדיר את ממשק המנהרה, מפעיל משתני חבר, התקשרות חזרה ו-WeaveTunnelControl.

הפעלה

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

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

הפעולה הזו יוצרת אובייקט נקודת קצה של מנהרה, מגדיר את ממשק המנהרה, מפעיל משתני חבר, התקשרות חזרה ו-WeaveTunnelControl.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

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

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

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

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

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

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

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
)

יש להגדיר את ה-צומת של היעד, את כתובת ה-IP ואת היציאה של המנהרה.

הגדרת ה-צומת של היעד ו-IPAddress עבור המנהרה.

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

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

הגדרה של התפקיד Tunneling device(BorderGateway, StandaloneDevice, MobileDevice) עבור המנהרה.

מגדירים את התפקיד Tunneling device(BorderGateway לעומת Standalone) עבור ה-tunnel.

פרטים
פרמטרים
[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 למעבר בין שער הגבולות לבין המכשיר הנייד, והעברה לממשק הקצה של Tunnel לאחר סגירה של חבילת IPv6 הגולמית מתוך כותרת המנהרה.

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

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

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

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

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

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

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

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