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

InputStream adapter that reads from RingPipe. More...

#include <ringpipe_input_stream.h>

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

Public Member Functions

 RingPipeInputStream (RingPipe &pipe)
 Creates adapter over pipe.
 
size_t read (byte *data, size_t len) override
 Reads from ring pipe.
 
size_t tryRead (byte *data, size_t len) override
 Non-blocking read from ring pipe.
 
size_t available () const
 Returns currently readable byte count.
 
Status status () const override
 Returns current input-end status of underlying pipe.
 
void close () override
 Closes input end of underlying pipe.
 
- Public Member Functions inherited from roo_io::InputStream
virtual ~InputStream ()
 
virtual bool isOpen () const
 Returns whether stream is considered open.
 
virtual size_t readFully (byte *buf, size_t count)
 Attempts to read count bytes into buf; blocks as needed.
 
virtual void skip (uint64_t count)
 Skips over count bytes, updating status().
 

Detailed Description

InputStream adapter that reads from RingPipe.

Definition at line 9 of file ringpipe_input_stream.h.

Constructor & Destructor Documentation

◆ RingPipeInputStream()

roo_io::RingPipeInputStream::RingPipeInputStream ( RingPipe pipe)
inlineexplicit

Creates adapter over pipe.

Definition at line 12 of file ringpipe_input_stream.h.

Member Function Documentation

◆ available()

size_t roo_io::RingPipeInputStream::available ( ) const
inline

Returns currently readable byte count.

Returns
Bytes readable without blocking.

Definition at line 33 of file ringpipe_input_stream.h.

References roo_io::RingPipe::availableForRead().

◆ close()

void roo_io::RingPipeInputStream::close ( )
inlineoverridevirtual

Closes input end of underlying pipe.

Updates status as observed via subsequent status() calls.

Reimplemented from roo_io::InputStream.

Definition at line 43 of file ringpipe_input_stream.h.

References roo_io::RingPipe::closeInput().

◆ read()

size_t roo_io::RingPipeInputStream::read ( byte data,
size_t  len 
)
inlineoverridevirtual

Reads from ring pipe.

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

Returns
Number of bytes read.

Implements roo_io::InputStream.

Definition at line 19 of file ringpipe_input_stream.h.

References roo_io::RingPipe::read().

◆ status()

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

Returns current input-end status of underlying pipe.

Returns
Current status.

Implements roo_io::InputStream.

Definition at line 38 of file ringpipe_input_stream.h.

References roo_io::RingPipe::inputStatus().

◆ tryRead()

size_t roo_io::RingPipeInputStream::tryRead ( byte data,
size_t  len 
)
inlineoverridevirtual

Non-blocking read from ring pipe.

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

Returns
Number of bytes read.

Reimplemented from roo_io::InputStream.

Definition at line 26 of file ringpipe_input_stream.h.

References roo_io::RingPipe::tryRead().


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