nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
概要
コンストラクタとデストラクタ |
|
---|---|
WeaveTunnelAgent(void)
|
公開タイプ |
|
---|---|
AgentState{
|
enum サービスへの接続に関連するトンネル エージェントの状態。 |
AgentState
|
typedef サービスへの接続に関連するトンネル エージェントの状態。 |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Service からトンネル再接続を受信したときに、上位レイヤによって設定されたハンドラへの関数ポインタ。 |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
Service へのトンネルに関連するさまざまな通知に応答するために、上位レイヤによって設定されたハンドラへの関数ポインタ。 |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
ネットワーク レベルのオンライン チェックを実行するために、アプリケーションが提供するハンドラへの関数ポインタ。 |
WeaveTunnelFlags{
|
enum Weave トンネルのフラグビット。 |
WeaveTunnelFlags
|
typedef Weave トンネルのフラグビット。 |
パブリック属性 |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Service へのトンネルに関連するさまざまな通知に応答するために、上位レイヤによって設定されたハンドラへの関数ポインタ。
|
mServiceMgr
|
WeaveServiceManager *
Service を検索して接続するために使用するサービス マネージャー ポインタ。
|
パブリック関数 |
|
---|---|
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)
|
Tunnel エージェントを初期化します。
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Tunnel エージェントを初期化します。
|
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
Service へのトンネル接続を閉じます。
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Service へのトンネル接続を閉じます。
|
静的パブリック関数 |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
ボーダー ゲートウェイとモバイル デバイス間のショートカット UDP トンネル経由でトンネリングされた IPv6 パケットを受信し、トンネル ヘッダー内から生の IPv6 パケットをカプセル化解除した後にトンネル エンドポイント インターフェースに転送するハンドラ。
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
トンネル エンドポイント インターフェースから IPv6 パケットを受信し、トンネル ヘッダー内に IPv6 パケットをカプセル化してから Service TCP 接続を介して Service に転送するハンドラ、またはショートカット トンネルを介して Mobile クライアントに転送するためのハンドラ。
|
公開タイプ
AgentState
AgentState
サービスへの接続に関連するトンネル エージェントの状態。
プロパティ | |
---|---|
kState_BkupOnlyTunModeEstablished
|
Service へのバックアップ トンネルが確立されたことを示すために使用されます。 |
kState_Initialized_NoTunnel
|
トンネル エージェントが初期化されているが、トンネルが確立されていないことを示すために使用されます。 |
kState_NotInitialized
|
トンネル エージェントが初期化されていないことを示すために使用されます。 |
kState_PrimaryAndBkupTunModeEstablished
|
プライマリ トンネルとバックアップ トンネルの両方が確立されたことを示すために使用されます。 |
kState_PrimaryTunModeEstablished
|
Service へのプライマリ トンネルが確立されたことを示すために使用されます。 |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
サービスへの接続に関連するトンネル エージェントの状態。
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Service からトンネル再接続を受信したときに、上位レイヤによって設定されたハンドラへの関数ポインタ。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
Service へのトンネルに関連するさまざまな通知に応答するために、上位レイヤによって設定されたハンドラへの関数ポインタ。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
ネットワーク レベルのオンライン チェックを実行するために、アプリケーションが提供するハンドラへの関数ポインタ。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
WeaveTunnelFlags
WeaveTunnelFlags
Weave トンネルのフラグビット。
プロパティ | |
---|---|
kTunnelFlag_BackupEnabled
|
バックアップ トンネルが有効な場合に設定されます。 |
kTunnelFlag_BackupRestricted
|
バックアップ トンネルのルーティングが制限されている場合に設定されます。 |
kTunnelFlag_PrimaryEnabled
|
プライマリ トンネルが有効な場合に設定されます。 |
kTunnelFlag_PrimaryRestricted
|
プライマリ トンネルのルーティングが制限されている場合に設定されます。 |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Weave トンネルのフラグビット。
パブリック属性
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
Service へのトンネルに関連するさまざまな通知に応答するために、上位レイヤによって設定されたハンドラへの関数ポインタ。
mServiceMgr
WeaveServiceManager * mServiceMgr
Service を検索して接続するために使用するサービス マネージャー ポインタ。
パブリック関数
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 )
init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
Tunnel エージェントを初期化します。
これにより、Tunnel エンドポイント オブジェクトが作成され、トンネル インターフェースが設定され、メンバー変数、コールバック、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 エージェントを初期化します。
これにより、Tunnel エンドポイント オブジェクトが作成され、トンネル インターフェースが設定され、メンバー変数、コールバック、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 )
ネットワーク オンライン チェッカーの結果が利用可能になったときにプラットフォームによって呼び出されるコールバック。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
ResetPrimaryReconnectBackoff
WEAVE_ERROR ResetPrimaryReconnectBackoff( bool reconnectImmediately )
プライマリ トンネルの再接続時間をリセットします。
をご覧ください。詳細 | |||
---|---|---|---|
パラメータ |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
トンネルの WeaveAuthMode を設定します。
詳細 | |||
---|---|---|---|
パラメータ |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
トンネルの宛先 nodeId、IPAddress、ポートを設定します。
トンネルの宛先 nodeId と IPAddress を設定します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
トンネルのトンネリング デバイス ロール(BorderGateway、StandaloneDevice、MobileDevice)を設定します。
トンネルのトンネリング デバイスのロール(BorderGateway またはスタンドアロン)を設定します。
詳細 | |||
---|---|---|---|
パラメータ |
|
シャットダウン
WEAVE_ERROR Shutdown( void )
トンネル エージェントをシャットダウンします。
これにより、Service への接続が破棄され、トンネル インターフェースに関連付けられたアドレスとルートを削除した後に、TunEndPoint インターフェースが終了します。
これにより、Service への接続が破棄され、トンネル インターフェースに関連付けられたアドレスとルートを削除した後に、TunEndPoint インターフェースが終了します。
詳細 | |
---|---|
戻り値 |
成功した場合は WEAVE_NO_ERROR、それ以外の場合は対応する WEAVE_ERROR タイプ。
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( void )
サービス トンネルを起動します。
これにより、トンネルが有効になり、Service への接続を確立しようとします。
Service への接続を確立しようとし、トンネル インターフェースにファブリック ルートを設定します。
詳細 | |
---|---|
戻り値 |
成功した場合は WEAVE_NO_ERROR、それ以外の場合は対応する WEAVE_ERROR タイプ。
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode )
サービス トンネルを起動します。
これにより、トンネルが有効になり、Service への接続を確立しようとします。
StopServiceTunnel
void StopServiceTunnel( void )
Service へのトンネル接続を閉じます。
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Service へのトンネル接続を閉じます。
詳細 | |||
---|---|---|---|
パラメータ |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
静的パブリック関数
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
ボーダー ゲートウェイとモバイル デバイス間のショートカット UDP トンネル経由でトンネリングされた IPv6 パケットを受信し、トンネル ヘッダー内から生の IPv6 パケットをカプセル化解除した後にトンネル エンドポイント インターフェースに転送するハンドラ。
トンネル ヘッダー内から生の IPv6 パケットをカプセル化解除した後、サービス TCP 接続からトンネリングされた IPv6 パケットを受信し、トンネル エンドポイント インターフェースに転送するハンドラ。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
トンネル エンドポイント インターフェースから IPv6 パケットを受信し、トンネル ヘッダー内に IPv6 パケットをカプセル化してから Service TCP 接続を介して Service に転送するハンドラ、またはショートカット トンネルを介して Mobile クライアントに転送するためのハンドラ。
トンネル エンドポイント インターフェースから IPv6 パケットを受信し、トンネル ヘッダー内に IPv6 パケットをカプセル化してから Service TCP 接続を介して Service に転送するハンドラ、またはローカル トンネル経由で Mobile クライアントに転送するハンドラ。
Service 接続がまだセットアップされていない場合、接続がセットアップされるまでメッセージはキューに追加されます。モバイル クライアント デバイスへのトンネリングでは、ネクストホップ ネイバー テーブルが参照されます。
Service 接続がまだセットアップされていない場合、接続がセットアップされるまでメッセージはキューに追加されます。モバイル クライアント デバイスへのトンネリングでは、ネクストホップ ネイバー テーブルが参照されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|