MCPcopy Create free account
hub / github.com/error311/FileRise / consumeAvailable

Method consumeAvailable

src/FileRise/Storage/CurlReadStream.php:234–263  ·  view source on GitHub ↗
(?int $length)

Source from the content-addressed store, hash-verified

232 }
233
234 private function consumeAvailable(?int $length)
235 {
236 $available = $this->availableBytes();
237 if ($available <= 0) {
238 return $this->failed ? false : '';
239 }
240
241 $toRead = ($length === null || $length <= 0) ? $available : min($length, $available);
242 if ($toRead <= 0 || !is_resource($this->buffer)) {
243 return $this->failed ? false : '';
244 }
245
246 if (@fseek($this->buffer, $this->readOffset) !== 0) {
247 $this->fail('Unable to seek WebDAV read buffer.');
248 return false;
249 }
250
251 $data = @fread($this->buffer, $toRead);
252 if ($data === false) {
253 $this->fail('Unable to read WebDAV buffer.');
254 return false;
255 }
256
257 $this->readOffset += strlen($data);
258 if ($this->readOffset >= $this->writeOffset) {
259 $this->resetBufferIfDrained();
260 }
261
262 return $data;
263 }
264
265 private function availableBytes(): int
266 {

Callers 1

readMethod · 0.95

Calls 3

availableBytesMethod · 0.95
failMethod · 0.95
resetBufferIfDrainedMethod · 0.95

Tested by

no test coverage detected