シリアル通信トンネリング機能のインターフェース
More...
#include <TunnelInterface.hpp>
◆ 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_buffer | 1バッファあたりのバイト数。 |
num_of_buffers | バッファの数。 |
◆ DequeueSinkBuffer()
シリアルデータ断片受信用バッファをキューから取得する。
- Note
- キューに有効なバッファがない場合、本関数はブロッキングで待機する。
◆ DequeueSourceBuffer()
シリアルデータ断片送信用バッファをキューから取り出す。
- Note
- キューに空きバッファがない場合、本関数はブロッキングで待機する。
-
取り出されたバッファを呼び出し元側で削除(delete)すると、 送信データ無しでキューに戻したものとみなされる。
◆ EnqueueSinkBuffer()
シリアルデータ断片受信用バッファをキューに返却する。
- Note
- キューに空き容量がない場合、本関数はブロッキングで待機する。
-
取り出されたバッファを呼び出し元側で削除(delete)すると、 キューに戻したものとみなされる。
◆ EnqueueSourceBuffer()
シリアルデータ断片送信用バッファをキューに格納する。
- 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
-
- 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]
コールバックの送信先をshared_ptrで登録する
- Note
- 参照の保持方式としてshared_ptr/weak_ptr/unique_ptrのいずれも 利用できるが、同時に登録できるのは合計1つの参照のみである。
-
有効なインスタンスを保持していない参照を渡すと、 送信先を削除する。
- Parameters
-
◆ RegisterCallback() [2/3]
コールバックの送信先をunique_ptrで登録する
- Note
- 参照の保持方式としてshared_ptr/weak_ptr/unique_ptrのいずれも 利用できるが、同時に登録できるのは合計1つの参照のみである。
-
有効なインスタンスを保持していない参照を渡すと、 送信先を削除する。
- Parameters
-
◆ RegisterCallback() [3/3]
コールバックの送信先を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
-
- Note
- パケタイズを用いない場合、設定値は無視される。
◆ SetTimestamp()
virtual void zao::endpoint::StreamInterface::SetTimestamp |
( |
std::shared_ptr< TimestampInterface > |
timestamp | ) |
|
|
pure virtualinherited |
このストリームで用いるタイムスタンプを設定する。
- Parameters
-
The documentation for this class was generated from the following file:
- /home/jenkins/workspace/J2412.zao_sdk_jetson.build/zep_sdk/libzao-endpoint/include/zao/endpoint/serial/TunnelInterface.hpp