class ugcs::vsm::Android_serial_processor::Stream_entry

Overview

class Stream_entry
{
public:
    // typedefs

    typedef std::shared_ptr<Stream_entry> Ptr;
    typedef std::weak_ptr<Stream_entry> Weak_ptr;

    // enums

    enum State;

    // fields

    Stream::Ref stream;
    State state = State::INITIAL;
    Open_request::Ptr open_req;
    std::list<Write_request::Ptr> write_queue;
    std::list<Read_request::Ptr> read_queue;

    // construction

    Stream_entry(
        Android_serial_processor::Ptr processor,
        const std::string& name,
        const Stream::Mode& mode,
        Open_request::Ptr open_req
        );

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);

    void Complete_open(bool succeeded);
    void Push_write(Write_request::Ptr req);
    void Write_done(bool succeeded);
    void Push_read(Read_request::Ptr req);
    void Read_done(Io_buffer::Ptr data);
    void Close();
};

Detailed Documentation

Typedefs

typedef std::shared_ptr<Stream_entry> Ptr

Pointer type.

typedef std::weak_ptr<Stream_entry> Weak_ptr

Pointer type.

Fields

std::list<Write_request::Ptr> write_queue

Front element is the current active request.

std::list<Read_request::Ptr> read_queue

Front element is the current active request.

Methods

template <typename... Args>
static Ptr Create(Args&&... args)

Create an instance.