nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
概要
コンストラクタとデストラクタ |
|
---|---|
WeaveTunnelAgent(void)
|
パブリック タイプ |
|
---|---|
AgentState{
|
enum サービスへの接続に関連するトンネル エージェントの状態。 |
AgentState
|
typedef サービスへの接続に関連するトンネル エージェントの状態。 |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
サービスからトンネル再接続を受信したときに上位レイヤによって設定されたハンドラへの関数ポインタ。 |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
Service へのトンネルに関連するさまざまな通知を処理するために上位レイヤによって設定されたハンドラへの関数ポインタ。 |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
ネットワーク レベルのオンライン チェックを実行するためにアプリケーションが提供するハンドラへの関数ポインタ。 |
WeaveTunnelFlags{
|
enum 織りトンネルのフラグビット。 |
WeaveTunnelFlags
|
typedef 織りトンネルのフラグビット。 |
パブリック属性 |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Service へのトンネルに関連するさまざまな通知を処理するために上位レイヤによって設定されたハンドラへの関数ポインタ。
|
mServiceMgr
|
WeaveServiceManager *
Service の検索と接続に使用する Service Manager のポインタ。
|
パブリック関数 |
|
---|---|
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
Tunnel の Tunneling デバイスのロール(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 パケットをカプセル化した後にサービス TCP 接続経由でサービスに転送するハンドラ、またはショートカット トンネルを介してモバイル クライアントに転送するハンドラ。
|
パブリック タイプ
AgentState
AgentState
サービスへの接続に関連するトンネル エージェントの状態。
プロパティ | |
---|---|
kState_BkupOnlyTunModeEstablished
|
サービスへのバックアップ トンネルが確立されたことを示すために使用されます。 |
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)
サービスからトンネル再接続を受信したときに上位レイヤによって設定されたハンドラへの関数ポインタ。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
Service へのトンネルに関連するさまざまな通知を処理するために上位レイヤによって設定されたハンドラへの関数ポインタ。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *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
Service へのトンネルに関連するさまざまな通知を処理するために上位レイヤによって設定されたハンドラへの関数ポインタ。
mServiceMgr
WeaveServiceManager * mServiceMgr
Service の検索と接続に使用する Service Manager のポインタ。
パブリック関数
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 )
トンネル エージェントを初期化します。
これにより、トンネル エンドポイント オブジェクトが作成され、トンネル インターフェースが設定され、メンバー変数、コールバック、WeaveTunnelControl が初期化されます。
init
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 )
ネットワークのオンライン チェッカーの結果が利用可能なときにプラットフォームによって呼び出されるコールバック。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
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 )
Tunnel の Tunneling デバイスのロール(BorderGateway、StandaloneDevice、MobileDevice)を設定します。
トンネルのトンネリング デバイス ロール(BorderGateway またはスタンドアロン)を設定します。
詳細 | |||
---|---|---|---|
パラメータ |
|
シャットダウン
WEAVE_ERROR Shutdown( void )
トンネル エージェントをシャットダウンします。
これにより、サービスへの接続が破棄され、トンネル インターフェースに関連付けられたアドレスとルートを削除した後に TunEndPoint インターフェースが閉じます。
これにより、サービスへの接続が破棄され、トンネル インターフェースに関連付けられたアドレスとルートを削除した後に 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 パケットのカプセル化を解除した後にトンネル エンドポイント インターフェースに転送するハンドラ。
Service TCP 接続からトンネリングされた IPv6 パケットを受信し、トンネル ヘッダー内から未加工の IPv6 パケットのカプセル化を解除した後にトンネル エンドポイント インターフェースに転送するハンドラ。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
トンネル エンドポイント インターフェースから IPv6 パケットを受信し、トンネル ヘッダー内で IPv6 パケットをカプセル化した後にサービス TCP 接続経由でサービスに転送するハンドラ、またはショートカット トンネルを介してモバイル クライアントに転送するハンドラ。
IPv6 パケットをトンネル エンドポイント インターフェースから受信し、トンネル ヘッダー内で IPv6 パケットをカプセル化した後に Service TCP 接続経由でサービスに転送するハンドラ、またはローカル トンネル経由でモバイル クライアントに転送するハンドラ。
Service 接続がまだ確立されていない場合、接続が確立されるまでメッセージはキューに格納されます。モバイル クライアント デバイスへのトンネリングでは、ネクストホップのネイバー テーブルが参照されます。
Service 接続がまだ確立されていない場合、接続が確立されるまでメッセージはキューに格納されます。モバイル クライアント デバイスへのトンネリングでは、ネクストホップのネイバー テーブルが参照されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|