scclib
Stable Cloud Computing C++ Library
Public Member Functions | List of all members
scc::util::IoStream Class Reference

Input/output stream wrapper for reader/writer. More...

#include <iostream.h>

Inheritance diagram for scc::util::IoStream:
Inheritance graph
[legend]
Collaboration diagram for scc::util::IoStream:
Collaboration graph
[legend]

Public Member Functions

 IoStream (Reader &, Writer &, size_t=1024, size_t=1024)
 Create reader/writer stream. More...
 
 IoStream (const std::shared_ptr< Reader > &, const std::shared_ptr< Writer > &, size_t=1024, size_t=1024)
 Create reader/writer stream. More...
 
 IoStream ()=delete
 No default construct.
 
 IoStream (const IoStream &)=delete
 Copy construct not allowed.
 
IoStreamoperator= (const IoStream &)=delete
 Copy assign not allowed.
 
 IoStream (IoStream &&)
 Move construct.
 
IoStreamoperator= (IoStream &&)
 Move assign.
 
void read_reset (const std::shared_ptr< Reader > &)
 
void write_reset (const std::shared_ptr< Writer > &)
 
std::shared_ptr< Readerread_shared () const
 
std::shared_ptr< Writerwrite_shared () const
 
size_t recvbuf_size () const
 Size of receive buffer.
 
void recvbuf_size (size_t)
 Resize the receive buffer.
 
size_t sendbuf_size () const
 Size of send buffer.
 
void sendbuf_size (size_t)
 Resize the send buffer.
 
virtual std::string recv_fail () const
 Failure message from instream.
 
virtual std::string send_fail () const
 Failure message from outstream.
 
void clear (std::ios::iostate=std::ios::goodbit)
 

Detailed Description

Input/output stream wrapper for reader/writer.

Makes Reader and Writer objects compatible with std::iostream.

Examples
examples/net/netmain.cc, net/unittest/inet.cc, net/unittest/inet_stream.cc, net/unittest/unix.cc, and util/unittest/iostream.cc.

Definition at line 156 of file iostream.h.

Constructor & Destructor Documentation

◆ IoStream() [1/2]

IoStream::IoStream ( Reader reader,
Writer writer,
size_t  recv_buf_sz = 1024,
size_t  send_buf_sz = 1024 
)

Create reader/writer stream.

Does not assume ownership of objects. Useful for temporary use, otherwise use the shared pointer form.

Parameters
readerReader.
writerWriter.
recv_buf_szSize of receive buffer. Number of bytes to be buffered from the underlying reader.
send_buf_szSize of send buffer. Number of bytes to be buffered before writing to the underlying writer.

Definition at line 543 of file iostream.cc.

◆ IoStream() [2/2]

IoStream::IoStream ( const std::shared_ptr< Reader > &  reader,
const std::shared_ptr< Writer > &  writer,
size_t  recv_buf_sz = 1024,
size_t  send_buf_sz = 1024 
)

Create reader/writer stream.

Parameters
readerReader shared pointer.
writerWriter shared pointer.
recv_buf_szSize of receive buffer. Number of bytes to be buffered from the underlying reader.
send_buf_szSize of send buffer. Number of bytes to be buffered before writing to the underlying writer.

Definition at line 550 of file iostream.cc.


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