aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/3rdparty/icewind/streams/src/ReadHashWrapper.php
blob: a9e9fc831e6fff0b4c882690d6c6ff7bc5678bc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
/**
 * SPDX-FileCopyrightText: 2019 Roeland Jago Douma <roeland@famdouma.nl>
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

namespace Icewind\Streams;

/**
 * Wrapper that calculates the hash on the stream on read
 *
 * The stream and hash should be passed in when wrapping the stream.
 * On close the callback will be called with the calculated checksum.
 *
 * For supported hashes see: http://php.net/manual/en/function.hash-algos.php
 */
class ReadHashWrapper extends HashWrapper {
	public function stream_read($count) {
		$data = parent::stream_read($count);
		$this->updateHash($data);
		return $data;
	}
}