Uses an SC::AsyncFileWrite to stream data to a socket. More...
#include <AsyncRequestStreams.h>
Additional Inherited Members | |
Public Member Functions inherited from SC::AsyncRequestWritableStream< AsyncSocketSend > | |
Result | init (AsyncBuffersPool &buffersPool, Span< Request > requests, AsyncEventLoop &loop, const DescriptorType &descriptor) |
Result | registerAutoCloseDescriptor (bool value) |
Registers or unregisters a listener to AsyncWritableStream::eventFinish to close descriptor. More... | |
Public Member Functions inherited from SC::AsyncWritableStream | |
Result | init (AsyncBuffersPool &buffersPool, Span< Request > requests) |
Emitted when no more data can be written. More... | |
Result | write (AsyncBufferView::ID bufferID, Function< void(AsyncBufferView::ID)> cb={}) |
Writes a buffer (that must be allocated by the AsyncBuffersPool passed in AsyncWritableStream) When the buffer it will be actually written, AsyncWritableStream::eventWritten will be raised and its reference count will be decreased. More... | |
Result | write (Span< const char > data, Function< void(AsyncBufferView::ID)> cb={}) |
Try requesting a buffer big enough and copy data into it. More... | |
template<size_t N> | |
Result | write (const char(&str)[N]) |
Write a C-string literal in the stream. More... | |
void | end () |
Ends the writable stream, waiting for all in-flight and queued writes to finish. More... | |
AsyncBuffersPool & | getBuffersPool () |
Obtains the buffers pool to access its data. More... | |
void | finishedWriting (AsyncBufferView::ID bufferID, Function< void(AsyncBufferView::ID)> &&cb, Result res) |
Signals that the given buffer (previously queued by write) has been fully written. More... | |
void | resumeWriting () |
Resumes writing queued requests for this stream. More... | |
Result | unshift (AsyncBufferView::ID bufferID, Function< void(AsyncBufferView::ID)> &&cb) |
Puts back a buffer at the top of the write queue. More... | |
void | emitError (Result error) |
Signals an async error received. More... | |
void | tryAsync (Result potentialError) |
Will emit error if the passed in Result is false. More... | |
void | stop () |
Public Attributes inherited from SC::AsyncRequestWritableStream< AsyncSocketSend > | |
AsyncSocketSend | request |
Public Attributes inherited from SC::AsyncWritableStream | |
Function< Result(AsyncBufferView::ID, Function< void(AsyncBufferView::ID)>)> | asyncWrite |
Function that every stream must define to implement its custom write operation. More... | |
Event< MaxListeners, Result > | eventError |
Event< MaxListeners > | eventDrain |
Emitted when an error occurs. More... | |
Event< MaxListeners > | eventFinish |
Emitted when write queue is empty. More... | |
Function< bool()> | canEndWritable |
Allows keeping a writable in ENDING state until it has finished flushing all pending data. More... | |
Static Public Attributes inherited from SC::AsyncWritableStream | |
static constexpr int | MaxListeners = 8 |
Protected Member Functions inherited from SC::AsyncRequestWritableStream< AsyncSocketSend > | |
Result | write (AsyncBufferView::ID bufferID, Function< void(AsyncBufferView::ID)> cb) |
void | onEndCloseDescriptor () |
Protected Attributes inherited from SC::AsyncRequestWritableStream< AsyncSocketSend > | |
Function< void(AsyncBufferView::ID)> | callback |
Uses an SC::AsyncFileWrite to stream data to a socket.