roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
roo_io::RingPipeOutputStream Class Reference

OutputStream adapter that writes to RingPipe. More...

#include <ringpipe_output_stream.h>

Inheritance diagram for roo_io::RingPipeOutputStream:
[legend]
Collaboration diagram for roo_io::RingPipeOutputStream:
[legend]

Public Member Functions

 RingPipeOutputStream (RingPipe &pipe)
 Creates adapter over pipe.
 
size_t write (const byte *data, size_t len) override
 Writes to ring pipe.
 
size_t tryWrite (const byte *data, size_t len) override
 Non-blocking write to ring pipe.
 
size_t availableForWrite () const
 Returns currently writable byte count.
 
Status status () const override
 Returns current output-end status of underlying pipe.
 
void close () override
 Closes output end of underlying pipe.
 
- Public Member Functions inherited from roo_io::OutputStream
virtual ~OutputStream ()
 
bool isOpen () const
 Returns whether stream is considered open.
 
virtual size_t writeFully (const byte *buf, size_t count)
 Attempts to write count bytes from buf.
 
virtual void flush ()
 Flushes buffered data to the underlying sink.
 

Detailed Description

OutputStream adapter that writes to RingPipe.

Definition at line 9 of file ringpipe_output_stream.h.

Constructor & Destructor Documentation

◆ RingPipeOutputStream()

roo_io::RingPipeOutputStream::RingPipeOutputStream ( RingPipe pipe)
inlineexplicit

Creates adapter over pipe.

Definition at line 12 of file ringpipe_output_stream.h.

Member Function Documentation

◆ availableForWrite()

size_t roo_io::RingPipeOutputStream::availableForWrite ( ) const
inline

Returns currently writable byte count.

Returns
Bytes writable without blocking.

Definition at line 35 of file ringpipe_output_stream.h.

References roo_io::RingPipe::availableForWrite().

◆ close()

void roo_io::RingPipeOutputStream::close ( )
inlineoverridevirtual

Closes output end of underlying pipe.

Updates status as observed via subsequent status() calls.

Reimplemented from roo_io::OutputStream.

Definition at line 45 of file ringpipe_output_stream.h.

References roo_io::RingPipe::closeOutput().

◆ status()

Status roo_io::RingPipeOutputStream::status ( ) const
inlineoverridevirtual

Returns current output-end status of underlying pipe.

Returns
Current status.

Implements roo_io::OutputStream.

Definition at line 40 of file ringpipe_output_stream.h.

References roo_io::RingPipe::outputStatus().

◆ tryWrite()

size_t roo_io::RingPipeOutputStream::tryWrite ( const byte data,
size_t  len 
)
inlineoverridevirtual

Non-blocking write to ring pipe.

Updates status indirectly (as observed via status()).

Returns
Number of bytes written.

Reimplemented from roo_io::OutputStream.

Definition at line 28 of file ringpipe_output_stream.h.

References roo_io::RingPipe::tryWrite().

◆ write()

size_t roo_io::RingPipeOutputStream::write ( const byte data,
size_t  len 
)
inlineoverridevirtual

Writes to ring pipe.

Updates status indirectly (as observed via status()).

Returns
Number of bytes written.

Implements roo_io::OutputStream.

Definition at line 19 of file ringpipe_output_stream.h.

References roo_io::RingPipe::write().


The documentation for this class was generated from the following file: