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::ip::TunnelInterface Class Referenceabstract

IPパケットトンネリング機能のインターフェース More...

#include <TunnelInterface.hpp>

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

Public Member Functions

virtual void ConfigureQueue (std::size_t bytes_per_buffer, std::size_t num_of_buffers)=0
 キューの設定を行う(送受信両方)。
 
virtual FrameSourceBufferDequeueResult DequeueSourceBuffer ()=0
 IPフレーム送信用バッファをキューから取り出す。
 
virtual FrameSourceBufferEnqueueResult EnqueueSourceBuffer (std::unique_ptr< FrameSourceBufferInterface > buffer)=0
 IPフレーム送信用バッファをキューに格納する。
 
virtual FrameSinkBufferDequeueResult DequeueSinkBuffer ()=0
 IPフレーム受信用バッファをキューから取得する。
 
virtual FrameSinkBufferEnqueueResult EnqueueSinkBuffer (std::unique_ptr< FrameSinkBufferInterface > buffer)=0
 IPフレーム受信用バッファをキューに返却する。
 
virtual void FlushQueue ()=0
 送受信キューの内容を破棄する。
 
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

IPパケットトンネリング機能のインターフェース

Member Function Documentation

◆ ConfigureQueue()

virtual void zao::endpoint::ip::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 FrameSinkBufferDequeueResult zao::endpoint::ip::TunnelInterface::DequeueSinkBuffer ( )
pure virtual

IPフレーム受信用バッファをキューから取得する。

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

◆ DequeueSourceBuffer()

virtual FrameSourceBufferDequeueResult zao::endpoint::ip::TunnelInterface::DequeueSourceBuffer ( )
pure virtual

IPフレーム送信用バッファをキューから取り出す。

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

◆ EnqueueSinkBuffer()

virtual FrameSinkBufferEnqueueResult zao::endpoint::ip::TunnelInterface::EnqueueSinkBuffer ( std::unique_ptr< FrameSinkBufferInterface buffer)
pure virtual

IPフレーム受信用バッファをキューに返却する。

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

◆ EnqueueSourceBuffer()

virtual FrameSourceBufferEnqueueResult zao::endpoint::ip::TunnelInterface::EnqueueSourceBuffer ( std::unique_ptr< FrameSourceBufferInterface buffer)
pure virtual

IPフレーム送信用バッファをキューに格納する。

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

◆ FlushQueue()

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

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

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

◆ 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送信先への参照(所有権を持たない)

◆ 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: