![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/aws/aws-crt-php/src/AWS/CRT/IO/ |
<?php /** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ namespace AWS\CRT\IO; use AWS\CRT\NativeResource as NativeResource; final class InputStream extends NativeResource { private $stream = null; const SEEK_BEGIN = 0; const SEEK_END = 2; public function __construct($stream) { parent::__construct(); $this->stream = $stream; $options = self::$crt->input_stream_options_new(); // The stream implementation in native just converts the PHP stream into // a native php_stream* and executes operations entirely in native self::$crt->input_stream_options_set_user_data($options, $stream); $this->acquire(self::$crt->input_stream_new($options)); self::$crt->input_stream_options_release($options); } public function __destruct() { $this->release(); parent::__destruct(); } public function eof() { return self::$crt->input_stream_eof($this->native); } public function length() { return self::$crt->input_stream_get_length($this->native); } public function read($length = 0) { if ($length == 0) { $length = $this->length(); } return self::$crt->input_stream_read($this->native, $length); } public function seek($offset, $basis) { return self::$crt->input_stream_seek($this->native, $offset, $basis); } }