← Back
Editing: InMemoryStream.php
<?php namespace Amp\ByteStream; use Amp\Promise; use Amp\Success; /** * Input stream with a single already known data chunk. */ final class InMemoryStream implements InputStream { private $contents; /** * @param string|null $contents Data chunk or `null` for no data chunk. */ public function __construct(?string $contents = null) { $this->contents = $contents; } /** * Reads data from the stream. * * @return Promise<string|null> Resolves with the full contents or `null` if the stream has closed / already been consumed. */ public function read(): Promise { if ($this->contents === null) { return new Success; } $promise = new Success($this->contents); $this->contents = null; return $promise; } }
Save File
Cancel