16#include <dfx-fdwatch/PollerFd.hpp>
17#include <dfx-utilities/FileSystem.hpp>
92 void init(std::vector<uint8_t> initialHeader)
override;
118 void write(std::vector<uint8_t> data)
override;
121 void _handleWriteReady(FdWatch::EventTriggers events);
128 bool _isPipeWriteReady =
true;
129 std::vector<uint8_t> _nextData;
130 std::queue<std::vector<uint8_t>> _pendingData;
131 std::size_t _maxQueueSize = 1024;
RAII wrapper for the registration of a FD in a Poller.
Definition PollerFd.hpp:42
void write(std::vector< uint8_t > data) override
Write serialized PCAPNG bytes to the FIFO.
void init(std::vector< uint8_t > initialHeader) override
Initialize the sink and write the initial PCAPNG header into the FIFO.
~PipeSink()
Destroy the sink and remove the FIFO from the filesystem.
PipeSink(fs::path path, uint32_t mode=0600)
Create a named FIFO at path.
std::size_t maxQueueSize() const noexcept
Current maximum number of queued blocks.
Definition PipeSink.hpp:103
void setMaxQueueSize(std::size_t maxQueueSize)
Set the maximum number of queued blocks when the FIFO is not writable.
Sink() noexcept=default
Construct a sink.
Definition Capture.hpp:27