Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
TunnelInterface.hpp
1#ifndef ZAO_ENDPOINT_IP_TUNNEL_INTERFACE_HPP_
2#define ZAO_ENDPOINT_IP_TUNNEL_INTERFACE_HPP_
3
4#include <cstdint>
5#include <memory>
6#include <string>
7
8#include "../EventSourceInterface.hpp"
9#include "../StreamInterface.hpp"
10#include "../TimestampInterface.hpp"
11#include "FrameSinkBufferDequeueResult.hpp"
12#include "FrameSinkBufferEnqueueResult.hpp"
13#include "FrameSinkBufferInterface.hpp"
14#include "FrameSourceBufferDequeueResult.hpp"
15#include "FrameSourceBufferEnqueueResult.hpp"
16#include "FrameSourceBufferInterface.hpp"
17
18namespace zao {
19namespace endpoint {
20namespace ip {
21
22class TunnelCallbackInterface;
23
29 public EventSourceInterface<TunnelCallbackInterface> {
30 public:
40 virtual void ConfigureQueue(std::size_t bytes_per_buffer,
41 std::size_t num_of_buffers) = 0;
42
52
61 std::unique_ptr<FrameSourceBufferInterface> buffer) = 0;
62
72
81 std::unique_ptr<FrameSinkBufferInterface> buffer) = 0;
82
90 virtual void FlushQueue() = 0;
91
96 virtual ~TunnelInterface() noexcept = default;
97};
98
104 public:
109 enum class EventType {
114 kUnknown = 0,
115
120 kDisconnected,
121
126 kUnlinked,
127
132 kDepacketizeError,
133
138 kDeactivated,
139
144 kActivated,
145 };
146
156 virtual void OnNotifyTunnelEvent(EventType type, const std::string& message) {
157 }
158
163 virtual ~TunnelCallbackInterface() noexcept = default;
164};
165
166} // namespace ip
167} // namespace endpoint
168} // namespace zao
169
170#endif // ZAO_ENDPOINT_IP_TUNNEL_INTERFACE_HPP_
イベントを生成するクラスの共通インターフェース
Definition EventSourceInterface.hpp:31
エンドポイント側のストリーム機能インターフェース
Definition StreamInterface.hpp:15
IPフレーム受信用バッファの取り出し結果を示す型。
Definition FrameSinkBufferDequeueResult.hpp:18
IPフレーム受信用バッファの格納結果を示す型。
Definition FrameSinkBufferEnqueueResult.hpp:13
IPフレーム送信用バッファの取り出し結果を示す型。
Definition FrameSourceBufferDequeueResult.hpp:18
IPフレーム送信用バッファの格納結果を示す型。
Definition FrameSourceBufferEnqueueResult.hpp:13
IPパケットトンネリング機能のコールバックインターフェース
Definition TunnelInterface.hpp:103
EventType
イベントの種類
Definition TunnelInterface.hpp:109
virtual ~TunnelCallbackInterface() noexcept=default
TunnelCallbackInterface オブジェクトを破棄する。
virtual void OnNotifyTunnelEvent(EventType type, const std::string &message)
エラーなどのイベントが発生した時に呼び出されるコールバック
Definition TunnelInterface.hpp:156
IPパケットトンネリング機能のインターフェース
Definition TunnelInterface.hpp:29
virtual FrameSinkBufferEnqueueResult EnqueueSinkBuffer(std::unique_ptr< FrameSinkBufferInterface > buffer)=0
IPフレーム受信用バッファをキューに返却する。
virtual FrameSinkBufferDequeueResult DequeueSinkBuffer()=0
IPフレーム受信用バッファをキューから取得する。
virtual void FlushQueue()=0
送受信キューの内容を破棄する。
virtual FrameSourceBufferEnqueueResult EnqueueSourceBuffer(std::unique_ptr< FrameSourceBufferInterface > buffer)=0
IPフレーム送信用バッファをキューに格納する。
virtual FrameSourceBufferDequeueResult DequeueSourceBuffer()=0
IPフレーム送信用バッファをキューから取り出す。
virtual ~TunnelInterface() noexcept=default
TunnelInterface オブジェクトを破棄する。
virtual void ConfigureQueue(std::size_t bytes_per_buffer, std::size_t num_of_buffers)=0
キューの設定を行う(送受信両方)。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11