Sane C++ Libraries
C++ Platform Abstraction Libraries
SC::WritableSocketStream Struct Reference

Uses an SC::AsyncFileWrite to stream data to a socket. More...

#include <AsyncRequestStreams.h>

Inheritance diagram for SC::WritableSocketStream:
SC::AsyncRequestWritableStream< AsyncSocketSend > SC::AsyncWritableStream

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...
 
AsyncBuffersPoolgetBuffersPool ()
 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, ResulteventError
 
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
 

Detailed Description

Uses an SC::AsyncFileWrite to stream data to a socket.


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