[ Index ]

PHP Cross Reference of phpBB-3.3.3-deutsch

title

Body

[close]

/vendor/guzzlehttp/psr7/src/ -> DroppingStream.php (source)

   1  <?php
   2  
   3  namespace GuzzleHttp\Psr7;
   4  
   5  use Psr\Http\Message\StreamInterface;
   6  
   7  /**
   8   * Stream decorator that begins dropping data once the size of the underlying
   9   * stream becomes too full.
  10   */
  11  class DroppingStream implements StreamInterface
  12  {
  13      use StreamDecoratorTrait;
  14  
  15      private $maxLength;
  16  
  17      /**
  18       * @param StreamInterface $stream    Underlying stream to decorate.
  19       * @param int             $maxLength Maximum size before dropping data.
  20       */
  21      public function __construct(StreamInterface $stream, $maxLength)
  22      {
  23          $this->stream = $stream;
  24          $this->maxLength = $maxLength;
  25      }
  26  
  27      public function write($string)
  28      {
  29          $diff = $this->maxLength - $this->stream->getSize();
  30  
  31          // Begin returning 0 when the underlying stream is too large.
  32          if ($diff <= 0) {
  33              return 0;
  34          }
  35  
  36          // Write the stream or a subset of the stream if needed.
  37          if (strlen($string) < $diff) {
  38              return $this->stream->write($string);
  39          }
  40  
  41          return $this->stream->write(substr($string, 0, $diff));
  42      }
  43  }


Generated: Sun Feb 14 20:08:31 2021 Cross-referenced by PHPXref 0.7.1