userver: engine::io::WritableBase Class Reference
Loading...
Searching...
No Matches
engine::io::WritableBase Class Referenceabstract

#include <userver/engine/io/common.hpp>

Detailed Description

Interface for writable streams

Definition at line 113 of file common.hpp.

Inheritance diagram for engine::io::WritableBase:

Public Member Functions

virtual size_t WriteAll (const void *buf, size_t len, Deadline deadline)=0
 Sends exactly len bytes of buf.
virtual size_t WriteAll (std::span< const IoData > list, Deadline deadline)
 Sends IoData array using vector I/O (e.g. writev).
virtual size_t WriteAll (std::initializer_list< IoData > list, Deadline deadline)
 Sends IoData initializer list using vector I/O (e.g. writev).
virtual bool WaitWriteable (Deadline deadline)=0
 Suspends current task until the data is available.
AwaitableToken GetAwaitableToken ()
 Satisfies engine::Awaitable, for use with engine::WaitAnyContext and friends.

Protected Member Functions

void SetWritableAwaitableToken (AwaitableToken token)

Member Function Documentation

◆ GetAwaitableToken()

AwaitableToken engine::io::WriteAwaiter::GetAwaitableToken ( )
inlineinherited

Satisfies engine::Awaitable, for use with engine::WaitAnyContext and friends.

Definition at line 91 of file common.hpp.

◆ SetWritableAwaitableToken()

void engine::io::WriteAwaiter::SetWritableAwaitableToken ( AwaitableToken token)
inlineprotectedinherited

Definition at line 96 of file common.hpp.

◆ WaitWriteable()

virtual bool engine::io::WriteAwaiter::WaitWriteable ( Deadline deadline)
nodiscardpure virtualinherited

Suspends current task until the data is available.

Implemented in engine::io::PipeWriter, engine::io::Socket, and engine::io::TlsWrapper.

◆ WriteAll() [1/3]

virtual size_t engine::io::WritableBase::WriteAll ( const void * buf,
size_t len,
Deadline deadline )
nodiscardpure virtual

Sends exactly len bytes of buf.

Note
Can return less than len if stream is closed by peer.

Implemented in engine::io::PipeWriter, engine::io::Socket, and engine::io::TlsWrapper.

◆ WriteAll() [2/3]

virtual size_t engine::io::WritableBase::WriteAll ( std::initializer_list< IoData > list,
Deadline deadline )
inlinenodiscardvirtual

Sends IoData initializer list using vector I/O (e.g. writev).

Note
Can return less than total bytes if stream is closed by peer.

Reimplemented in engine::io::TlsWrapper.

Definition at line 133 of file common.hpp.

◆ WriteAll() [3/3]

virtual size_t engine::io::WritableBase::WriteAll ( std::span< const IoData > list,
Deadline deadline )
inlinenodiscardvirtual

Sends IoData array using vector I/O (e.g. writev).

Note
Can return less than total bytes if stream is closed by peer.

Reimplemented in engine::io::Socket, and engine::io::TlsWrapper.

Definition at line 123 of file common.hpp.


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