✏️ 正在编辑: HashingStream.php
路径:
/srv/systems_dir/koruspay/vendor/aws/aws-sdk-php/src/HashingStream.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php namespace Aws; use GuzzleHttp\Psr7\StreamDecoratorTrait; use Psr\Http\Message\StreamInterface; /** * Stream decorator that calculates a rolling hash of the stream as it is read. */ class HashingStream implements StreamInterface { use StreamDecoratorTrait; /** @var StreamInterface */ private $stream; /** @var HashInterface */ private $hash; /** @var callable|null */ private $callback; /** * @param StreamInterface $stream Stream that is being read. * @param HashInterface $hash Hash used to calculate checksum. * @param callable $onComplete Optional function invoked when the * hash calculation is completed. */ public function __construct( StreamInterface $stream, HashInterface $hash, ?callable $onComplete = null ) { $this->stream = $stream; $this->hash = $hash; $this->callback = $onComplete; } public function read($length): string { $data = $this->stream->read($length); $this->hash->update($data); if ($this->eof()) { $result = $this->hash->complete(); if ($this->callback) { call_user_func($this->callback, $result); } } return $data; } public function seek($offset, $whence = SEEK_SET): void { // Seeking arbitrarily is not supported. if ($offset !== 0) { return; } $this->hash->reset(); $this->stream->seek($offset); } }
💾 保存文件
← 返回文件管理器