Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
Public Member Functions | List of all members
zao::endpoint::serial::TunnelInterface Class Referenceabstract

シリアル通信トンネリング機能のインターフェース More...

#include <TunnelInterface.hpp>

Collaboration diagram for zao::endpoint::serial::TunnelInterface:
Collaboration graph
[legend]

Public Member Functions

virtual bool GetRequestedConfig (TunnelConfig &config) const =0
 要求されたシリアルトンネリング設定を取得する。
 
std::shared_future< TunnelConfigGetConfigRequestStatus () const
 設定要求状態を取得するshared_futureを取得する。
 
virtual std::shared_future< TunnelConfigGetRequestedConfigAsync () const =0
 設定要求状態を取得するshared_futureを取得する。
 
virtual void SetAvailable (bool new_value)=0
 アクティブ状態にできるか否かを設定する。
 
void SetMaxPacketLength (std::size_t length)
 最大パケット長を設定する。
 
virtual void ConfigureQueue (std::size_t bytes_per_buffer, std::size_t num_of_buffers)=0
 キューの設定を行う(送受信両方)。
 
virtual ChunkSourceBufferDequeueResult DequeueSourceBuffer ()=0
 シリアルデータ断片送信用バッファをキューから取り出す。
 
virtual ChunkSourceBufferEnqueueResult EnqueueSourceBuffer (std::unique_ptr< ChunkSourceBufferInterface > buffer)=0
 シリアルデータ断片送信用バッファをキューに格納する。
 
virtual ChunkSinkBufferDequeueResult DequeueSinkBuffer ()=0
 シリアルデータ断片受信用バッファをキューから取得する。
 
virtual ChunkSinkBufferEnqueueResult EnqueueSinkBuffer (std::unique_ptr< ChunkSinkBufferInterface > buffer)=0
 シリアルデータ断片受信用バッファをキューに返却する。
 
virtual void FlushQueue ()=0
 送受信キューの内容を破棄する。
 
void ResetQueue ()
 キューされているデータを削除する。
 
void Queue (TimestampInterface::Rep timestamp, const void *bytes, std::size_t length)
 送信データをキューする。
 
virtual ~TunnelInterface () noexcept=default
 TunnelInterface オブジェクトを破棄する。
 
virtual void SetTimestamp (std::shared_ptr< TimestampInterface > timestamp)=0
 このストリームで用いるタイムスタンプを設定する。
 
virtual void RegisterCallback (std::shared_ptr< TunnelCallbackInterface > listener)=0
 コールバックの送信先をshared_ptrで登録する
 
virtual void RegisterCallback (std::weak_ptr< TunnelCallbackInterface > listener_weak, StoreAsWeakPtrType)=0
 コールバックの送信先をweak_ptrで登録する
 
virtual void RegisterCallback (std::unique_ptr< TunnelCallbackInterface > listener)=0
 コールバックの送信先をunique_ptrで登録する
 

Detailed Description

シリアル通信トンネリング機能のインターフェース

Member Function Documentation

◆ ConfigureQueue()

virtual void zao::endpoint::serial::TunnelInterface::ConfigureQueue ( std::size_t  bytes_per_buffer,
std::size_t  num_of_buffers 
)
pure virtual

キューの設定を行う(送受信両方)。

Parameters
bytes_per_buffer1バッファあたりのバイト数。
num_of_buffersバッファの数。

◆ DequeueSinkBuffer()

virtual ChunkSinkBufferDequeueResult zao::endpoint::serial::TunnelInterface::DequeueSinkBuffer ( )
pure virtual

シリアルデータ断片受信用バッファをキューから取得する。

Note
キューに有効なバッファがない場合、本関数はブロッキングで待機する。

◆ DequeueSourceBuffer()

virtual ChunkSourceBufferDequeueResult zao::endpoint::serial::TunnelInterface::DequeueSourceBuffer ( )
pure virtual

シリアルデータ断片送信用バッファをキューから取り出す。

Note
キューに空きバッファがない場合、本関数はブロッキングで待機する。
取り出されたバッファを呼び出し元側で削除(delete)すると、 送信データ無しでキューに戻したものとみなされる。

◆ EnqueueSinkBuffer()

virtual ChunkSinkBufferEnqueueResult zao::endpoint::serial::TunnelInterface::EnqueueSinkBuffer ( std::unique_ptr< ChunkSinkBufferInterface buffer)
pure virtual

シリアルデータ断片受信用バッファをキューに返却する。

Note
キューに空き容量がない場合、本関数はブロッキングで待機する。
取り出されたバッファを呼び出し元側で削除(delete)すると、 キューに戻したものとみなされる。

◆ EnqueueSourceBuffer()

virtual ChunkSourceBufferEnqueueResult zao::endpoint::serial::TunnelInterface::EnqueueSourceBuffer ( std::unique_ptr< ChunkSourceBufferInterface buffer)
pure virtual

シリアルデータ断片送信用バッファをキューに格納する。

Note
キューに空き容量がない場合、本関数はブロッキングで待機する。

◆ FlushQueue()

virtual void zao::endpoint::serial::TunnelInterface::FlushQueue ( )
pure virtual

送受信キューの内容を破棄する。

Note
待機中の Dequeue/Enqueue 関数は、Abortedエラーで中断される。

◆ GetConfigRequestStatus()

std::shared_future< TunnelConfig > zao::endpoint::serial::TunnelInterface::GetConfigRequestStatus ( ) const
inline

設定要求状態を取得するshared_futureを取得する。

Since
SDK1.5
Note
既に設定要求受信済みの場合、 準備完了状態のオブジェクトを返却する。
Returns
設定要求受信時にそのフォーマットを返却する shared_futureオブジェクト
Deprecated:
代わりに GetRequestedConfigAsync を使ってください。

◆ GetRequestedConfig()

virtual bool zao::endpoint::serial::TunnelInterface::GetRequestedConfig ( TunnelConfig config) const
pure virtual

要求されたシリアルトンネリング設定を取得する。

Parameters
config設定の格納先
Return values
true設定が決定している(configの内容が有効)
false設定は未決定である(configの内容は無効)

◆ GetRequestedConfigAsync()

virtual std::shared_future< TunnelConfig > zao::endpoint::serial::TunnelInterface::GetRequestedConfigAsync ( ) const
pure virtual

設定要求状態を取得するshared_futureを取得する。

Since
SDK1.5
Note
既に設定要求受信済みの場合、 準備完了状態のオブジェクトを返却する。
Returns
設定要求受信時にそのフォーマットを返却する shared_futureオブジェクト

◆ Queue()

void zao::endpoint::serial::TunnelInterface::Queue ( TimestampInterface::Rep  timestamp,
const void *  bytes,
std::size_t  length 
)
inline

送信データをキューする。

Parameters
timestampタイムスタンプ値
bytes送信するバイト列の先頭ポインタ
length送信するバイト列の長さ(バイト数)
Note
本関数から戻った後は bytes の先を解放/書き換えして良い。

◆ RegisterCallback() [1/3]

virtual void zao::endpoint::EventSourceInterface< TunnelCallbackInterface >::RegisterCallback ( std::shared_ptr< TunnelCallbackInterface >  listener)
pure virtualinherited

コールバックの送信先をshared_ptrで登録する

Note
参照の保持方式としてshared_ptr/weak_ptr/unique_ptrのいずれも 利用できるが、同時に登録できるのは合計1つの参照のみである。
有効なインスタンスを保持していない参照を渡すと、 送信先を削除する。
Parameters
listener送信先への参照

◆ RegisterCallback() [2/3]

virtual void zao::endpoint::EventSourceInterface< TunnelCallbackInterface >::RegisterCallback ( std::unique_ptr< TunnelCallbackInterface >  listener)
pure virtualinherited

コールバックの送信先をunique_ptrで登録する

Note
参照の保持方式としてshared_ptr/weak_ptr/unique_ptrのいずれも 利用できるが、同時に登録できるのは合計1つの参照のみである。
有効なインスタンスを保持していない参照を渡すと、 送信先を削除する。
Parameters
listener送信先への参照

◆ RegisterCallback() [3/3]

virtual void zao::endpoint::EventSourceInterface< TunnelCallbackInterface >::RegisterCallback ( std::weak_ptr< TunnelCallbackInterface >  listener_weak,
StoreAsWeakPtrType   
)
pure virtualinherited

コールバックの送信先をweak_ptrで登録する

Note
参照の保持方式としてshared_ptr/weak_ptr/unique_ptrのいずれも 利用できるが、同時に登録できるのは合計1つの参照のみである。
有効なインスタンスを保持していない参照を渡すと、 送信先を削除する。
Parameters
listener_weak送信先への参照(所有権を持たない)

◆ ResetQueue()

void zao::endpoint::serial::TunnelInterface::ResetQueue ( )
inline

キューされているデータを削除する。

Note
パケタイズ有効時は、パケットの先頭へリセットされる。

◆ SetAvailable()

virtual void zao::endpoint::serial::TunnelInterface::SetAvailable ( bool  new_value)
pure virtual

アクティブ状態にできるか否かを設定する。

Parameters
new_valueアクティブ状態にできる場合true
Note
本関数をfalseを指定して呼び出すと、アクティブ状態の場合は 必ず非アクティブ状態へ遷移する。ただしこの遷移は非同期で行われ、 本関数から戻った時点で完了しているとは限らない。
本関数をtrueを指定して呼び出しても、必ずしもアクティブ状態に 遷移するとは限らない。対向側がアクティブ状態になれない場合は 非アクティブ状態を継続する。 the active state will always transition to the active state.

◆ SetMaxPacketLength()

void zao::endpoint::serial::TunnelInterface::SetMaxPacketLength ( std::size_t  length)
inline

最大パケット長を設定する。

Deprecated:
代わりに ConfigureQueue を使ってください。
Parameters
length最大パケット長(バイト数単位)
Note
パケタイズを用いない場合、設定値は無視される。

◆ SetTimestamp()

virtual void zao::endpoint::StreamInterface::SetTimestamp ( std::shared_ptr< TimestampInterface timestamp)
pure virtualinherited

このストリームで用いるタイムスタンプを設定する。

Parameters
timestampタイムスタンプ管理オブジェクト

The documentation for this class was generated from the following file: