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

Method reactivate

Libraries/AsyncStreams/AsyncStreams.cpp:429–459  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

427 emitError(Result::Error(AsyncStreamsResultCategory, AsyncStreamsError::InvalidReadableState));
428 }
429 break;
430 }
431 return state == State::AsyncPushing or state == State::SyncPushing;
432}
433
434Result AsyncReadableStream::unshift(AsyncBufferView::ID bufferID)
435{
436 Request request;
437 request.bufferID = bufferID;
438 if (not readQueue.pushFront(request))
439 return Result::Error(AsyncStreamsResultCategory, AsyncStreamsError::ReadQueueFull);
440 buffers->refBuffer(bufferID); // 1. refBuffer
441 return Result(true);
442}
443
444void AsyncReadableStream::reactivate(bool doReactivate)
445{
446 switch (state)
447 {
448 case State::SyncPushing: {
449 if (doReactivate)
450 {
451 state = State::SyncReadMore;
452 }
453 else
454 {
455 state = State::CanRead;
456 }
457 }
458 break;
459 case State::AsyncPushing: {
460 if (doReactivate)
461 {
462 executeRead(); // -> State::Reading

Callers 2

readableAsyncStreamMethod · 0.80
processBodyDataMethod · 0.80

Calls 1

ErrorEnum · 0.50

Tested by 1

readableAsyncStreamMethod · 0.64