| 1526 | } |
| 1527 | } |
| 1528 | |
| 1529 | void AsyncPipeline::afterSinkEnd() |
| 1530 | { |
| 1531 | bool allEnded = true; |
| 1532 | for (AsyncWritableStream* sink : sinks) |
| 1533 | { |
| 1534 | if (sink == nullptr) |
| 1535 | break; |
| 1536 | if (sink->isStillWriting()) |
| 1537 | { |
| 1538 | allEnded = false; |
| 1539 | } |
| 1540 | else |
| 1541 | { |
| 1542 | const bool res = sink->eventFinish.removeListener<AsyncPipeline, &AsyncPipeline::afterSinkEnd>(*this); |
| 1543 | SC_ASYNC_STREAMS_ASSERT_RELEASE(res); |
| 1544 | } |
| 1545 | } |
| 1546 | if (allEnded) |
| 1547 | { |
| 1548 | SC_ASYNC_STREAMS_ASSERT_RELEASE(unpipe()); |
| 1549 | } |
| 1550 | } |
| 1551 | |
| 1552 | //------------------------------------------------------------------------------------------------------- |
nothing calls this directly
no outgoing calls
no test coverage detected