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

Method write

Libraries/AsyncStreams/AsyncStreams.cpp:687–703  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

685AsyncWritableStream::~AsyncWritableStream() {}
686
687Result AsyncWritableStream::write(AsyncBufferView::ID bufferID, Function<void(AsyncBufferView::ID)> cb)
688{
689 if (state == State::Ended or state == State::Ending)
690 {
691 return Result::Error("AsyncWritableStream::write - failed (ending or ended state)");
692 }
693 Request request;
694 request.bufferID = bufferID;
695 request.cb = move(cb);
696 if (not writeQueue.pushBack(request))
697 {
698 return Result::Error("AsyncWritableStream::write - queue is full");
699 }
700 buffers->refBuffer(bufferID); // 2a. unrefBuffer below or in finishedWriting
701 resumeWriting();
702 return Result(true);
703}
704
705Result AsyncWritableStream::write(AsyncBufferView&& bufferView, Function<void(AsyncBufferView::ID)> cb)
706{

Callers 2

asyncWriteWritableMethod · 0.45
retryPendingWritesMethod · 0.45

Calls 4

refBufferMethod · 0.80
pushBufferMethod · 0.80
ErrorEnum · 0.50
ResultClass · 0.50

Tested by

no test coverage detected