class Poco::Net::SocketStreamBuf

Overview

This is the streambuf class used for reading from and writing to a socket. More…

#include <SocketStream.h>

class SocketStreamBuf: public Poco::BasicBufferedBidirectionalStreamBuf
{
public:
    // construction

    SocketStreamBuf(const Socket& socket);

    // methods

    StreamSocketImpl*
    socketImpl() const;

protected:
    // methods

    int
    readFromDevice(
        char* buffer,
        std::streamsize length
        );

    int
    writeToDevice(
        const char* buffer,
        std::streamsize length
        );
};

Inherited Members

public:
    // methods

    virtual
    int_type
    overflow(int_type c);

    virtual
    int_type
    underflow();

    virtual
    int
    sync();

protected:
    // typedefs

    typedef std::basic_streambuf<ch, tr> Base;
    typedef std::basic_ios<ch, tr> IOS;
    typedef ch char_type;
    typedef tr char_traits;
    typedef ba Allocator;
    typedef Base::int_type int_type;
    typedef Base::pos_type pos_type;
    typedef Base::off_type off_type;
    typedef IOS::openmode openmode;

    // methods

    void
    setMode(openmode mode);

    openmode
    getMode() const;

    void
    resetBuffers();

Detailed Documentation

This is the streambuf class used for reading from and writing to a socket.

Construction

SocketStreamBuf(const Socket& socket)

Creates a SocketStreamBuf with the given socket.

The socket’s SocketImpl must be a StreamSocketImpl, otherwise an InvalidArgumentException is thrown.

Methods

StreamSocketImpl*
socketImpl() const

Returns the internal SocketImpl.