Namespace: \ParagonIE\Halite\Stream
This represents a file that we are reading from, which should never be altered while our cryptography operations are being performed.
const ALLOWED_MODES = ['rb'];
// PHP's fread() buffer is set to 8192 by default
const CHUNK = 8192;$fp(private) - File pointerint $pos(private) - Position within the stream (viaftell())array $stat(private) - Statistics about the file (viafstat())
Arguments:
$file- Either a string containing a file location or a resource (file handle opened byfopen())
publicgetHash() :string
Returns the BLAKE2b hash of the file contents.
publicreadBytes(int $num) :string
Read the desired number of bytes from the internal stream, preventing partial reads. Also performs runtime checks to prevent TOCTOU attacks (race conditions).
publicremainingBytes() :int
Returns the number of bytes between the current location and the end of the stream.
publicreset(int $i = 0)
Set the current position in the stream to the desired value.
publictoctouTest()
Verifies that the file location (ftell($this->fp)) has not diverged from our
current location ($this->loc), and that the file size has not changed.
publicwriteBytes(string $buf,int $num = null)
Just returns false.