* afterWrite()'s return future is set when the next write may be consumed from the network (and beforeWrite() * called). */
| 74 | * called). |
| 75 | */ |
| 76 | Future<Void> ExtConnection::afterWrite(Future<WriteResult> writeResult, int releasePermits) { |
| 77 | if (options.pipelineCompatMode) { |
| 78 | lastWrite = writeResult; |
| 79 | return ready(lastWrite); |
| 80 | } else { |
| 81 | lastWrite = lastErrorOrLastResult(lastWrite, writeResult, lock.getPtr(), |
| 82 | std::min(releasePermits, DOCLAYER_KNOBS->CONNECTION_MAX_PIPELINE_DEPTH / 2)); |
| 83 | return currentWriteLocked; |
| 84 | } |
| 85 | } |