MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / resumeWriting

Method resumeWriting

Libraries/AsyncStreams/AsyncStreams.cpp:712–748  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

710}
711
712void AsyncWritableStream::resumeWriting()
713{
714 switch (state)
715 {
716 case State::Stopped: {
717 Request request;
718 if (writeQueue.popFront(request))
719 {
720 state = State::Writing;
721 tryAsync(asyncWrite(request.bufferID, request.cb));
722 buffers->unrefBuffer(request.bufferID); // 2b. refBuffer above
723 }
724 }
725 break;
726 case State::Writing: {
727 // This is fine, it has already been queued
728 }
729 break;
730 case State::Ending:
731 if (canEndWritable())
732 {
733 state = State::Ended;
734 if (autoDestroy)
735 {
736 destroy();
737 }
738 }
739 break;
740 case State::Destroying: {
741 // Invalid state, already destroyed or already destroying
742 eventError.emit(Result::Error("AsyncWritableStream::resumeWriting - destroy already called"));
743 }
744 break;
745 case State::Errored:
746 case State::Ended: break;
747 }
748}
749
750Result AsyncWritableStream::unshift(AsyncBufferView::ID bufferID, Function<void(AsyncBufferView::ID)>&& cb)
751{

Callers 1

afterWriteMethod · 0.80

Calls 2

unrefBufferMethod · 0.80
ErrorEnum · 0.50

Tested by

no test coverage detected