Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::runtime::PipeStream Class Reference

Stream wrapper over NamedPipe. More...

#include <stream.hpp>

Public Member Functions

 PipeStream ()=default
 PipeStream (std::unique_ptr< NamedPipe > pipe)
 ~PipeStream () override
 PipeStream (PipeStream &&) noexcept
PipeStream & operator= (PipeStream &&) noexcept
StreamResult read (std::uint8_t *buffer, std::size_t size) override
 Read up to size bytes into buffer.
StreamResult write (const std::uint8_t *buffer, std::size_t size) override
 Write up to size bytes from buffer.
void close () override
 Close the stream. Idempotent.
bool is_open () const override
 True while the stream is usable for read/write.
NamedPipe * pipe ()

Detailed Description

Stream wrapper over NamedPipe.

Takes ownership of an already-connected pipe; callers open the pipe (server/client) before constructing.

Constructor & Destructor Documentation

◆ PipeStream() [1/3]

pulp::runtime::PipeStream::PipeStream ( )
default

◆ PipeStream() [2/3]

pulp::runtime::PipeStream::PipeStream ( std::unique_ptr< NamedPipe > pipe)
explicit

◆ ~PipeStream()

pulp::runtime::PipeStream::~PipeStream ( )
override

◆ PipeStream() [3/3]

pulp::runtime::PipeStream::PipeStream ( PipeStream && )
noexcept

Member Function Documentation

◆ close()

void pulp::runtime::PipeStream::close ( )
overridevirtual

Close the stream. Idempotent.

Implements pulp::runtime::Stream.

◆ is_open()

bool pulp::runtime::PipeStream::is_open ( ) const
overridevirtual

True while the stream is usable for read/write.

Implements pulp::runtime::Stream.

◆ operator=()

PipeStream & pulp::runtime::PipeStream::operator= ( PipeStream && )
noexcept

◆ pipe()

NamedPipe * pulp::runtime::PipeStream::pipe ( )
inline

◆ read()

StreamResult pulp::runtime::PipeStream::read ( std::uint8_t * buffer,
std::size_t size )
overridevirtual

Read up to size bytes into buffer.

Returns how many bytes were written, or an error. buffer may be partially filled on error.

Implements pulp::runtime::Stream.

◆ write()

StreamResult pulp::runtime::PipeStream::write ( const std::uint8_t * buffer,
std::size_t size )
overridevirtual

Write up to size bytes from buffer.

Returns how many bytes were consumed. Partial writes are permitted — callers loop until satisfied or treat the short return as backpressure.

Implements pulp::runtime::Stream.


The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/runtime/include/pulp/runtime/stream.hpp