Public Member Functions | |
| Result | registerAutoCloseDescriptor (bool value) |
| Registers or unregisters a listener to AsyncReadableStream::eventEnd to close descriptor. | |
Public Member Functions inherited from SC::AsyncReadableStream | |
| Result | init (AsyncBuffersPool &buffersPool, Span< Request > requests) |
| Emitted when the underlying resource has been closed. | |
| Result | start () |
| Starts the readable stream, that will emit eventData. | |
| void | pause () |
| Pauses the readable stream (that can be later resumed) | |
| void | resumeReading () |
| Resumes the readable stream paused by AsyncReadableStream::pause. | |
| void | destroy () |
| Forcefully destroys the readable stream before it's end event releasing all resources. | |
| bool | isEnded () const |
| Returns true if the stream is ended (AsyncReadableStream::end has been called) | |
| AsyncBuffersPool & | getBuffersPool () |
| Obtains the AsyncBuffersPool to request more buffers. | |
| void | push (AsyncBufferView::ID bufferID, size_t newSize) |
| Use push from inside AsyncReadableStream::asyncRead function to queue received data. | |
| void | pushEnd () |
| Use pushEnd from inside AsyncReadableStream::asyncRead to signal production end. | |
| void | reactivate (bool doReactivate) |
| Use reactivate(true) from inside AsyncReadableStream::asyncRead function to ask the state machine to invoke asyncRead again. | |
| void | emitError (Result error) |
| Signals an async error received. | |
| bool | getBufferOrPause (size_t minumumSizeInBytes, AsyncBufferView::ID &bufferID, Span< char > &data) |
| Returns an unused buffer from pool or pauses the stream if none is available. | |
Public Attributes | |
| AsyncRequestType | request |
Public Attributes inherited from SC::AsyncReadableStream | |
| Function< Result()> | asyncRead |
| Function that every stream must define to implement its custom read operation. | |
| Event< MaxListeners, Result > | eventError |
| Event< MaxListeners, AsyncBufferView::ID > | eventData |
| Emitted when an error occurs. | |
| Event< MaxListeners > | eventEnd |
| Emitted when a new buffer has been read. | |
| Event< MaxListeners > | eventClose |
| Emitted when there is no more data. | |
Protected Member Functions | |
| Result | read () |
| void | afterRead (typename AsyncRequestType::Result &result, AsyncBufferView::ID bufferID) |
| void | onEndCloseDescriptor () |
Protected Attributes | |
| AsyncEventLoop * | eventLoop = nullptr |
| AsyncFileRead / AsyncFileWrite / AsyncSocketReceive / AsyncSocketSend. | |
Additional Inherited Members | |
Static Public Attributes inherited from SC::AsyncReadableStream | |
| static constexpr int | MaxListeners = 8 |
| Result SC::AsyncRequestReadableStream< AsyncRequestType >::registerAutoCloseDescriptor | ( | bool | value | ) |
Registers or unregisters a listener to AsyncReadableStream::eventEnd to close descriptor.
|
protected |