--- title: danog\MadelineProto\Stream\Common\SimpleBufferedRawStream: Buffered raw stream. description: --- # `danog\MadelineProto\Stream\Common\SimpleBufferedRawStream` [Back to index](../../../../index.md) > Author: Daniil Gentili Buffered raw stream. ## Method list: * `bufferReadGenerator(int $length): \Generator` * `getStream(): \danog\MadelineProto\Stream\RawStreamInterface` * `getName(): string` * `connect(\danog\MadelineProto\Stream\ConnectionContext $ctx): \Generator` * `read(): \Amp\Promise` * `write(string $data): \Amp\Promise` * `disconnect(): void` * `getReadBuffer(int $length): \Amp\Promise` * `getWriteBuffer(int $length): \Amp\Promise` * `bufferRead(int $length): \Amp\Promise` * `bufferWrite(string $data): \Amp\Promise` * `bufferClear(): string` * `getSocket(): \Amp\Socket\Socket` ## Methods: ### `bufferReadGenerator(int $length): \Generator` Read data asynchronously. Parameters: * `$length`: `int` Amount of data to read #### See also: * `\Generator` ### `getStream(): \danog\MadelineProto\Stream\RawStreamInterface` {@inheritDoc} #### See also: * [`\danog\MadelineProto\Stream\RawStreamInterface`: Raw stream interface.](../RawStreamInterface.md) ### `getName(): string` Get class name. ### `connect(\danog\MadelineProto\Stream\ConnectionContext $ctx): \Generator` Asynchronously connect to a TCP/TLS server. Parameters: * `$ctx`: `\danog\MadelineProto\Stream\ConnectionContext` Connection context #### See also: * [`\danog\MadelineProto\Stream\ConnectionContext`: Connection context class.](../ConnectionContext.md) * `\Generator` ### `read(): \Amp\Promise` Async chunked read. #### See also: * `\Amp\Promise` ### `write(string $data): \Amp\Promise` Async write. Parameters: * `$data`: `string` Data to write #### See also: * `\Amp\Promise` ### `disconnect(): void` Async close. ### `getReadBuffer(int $length): \Amp\Promise` Get read buffer asynchronously. Parameters: * `$length`: `int` Length of payload, as detected by this layer #### See also: * `\Amp\Promise` ### `getWriteBuffer(int $length): \Amp\Promise` Get write buffer asynchronously. Parameters: * `$length`: `int` Total length of data that is going to be piped in the buffer #### See also: * `\Amp\Promise` ### `bufferRead(int $length): \Amp\Promise` Read data asynchronously. Parameters: * `$length`: `int` Amount of data to read #### See also: * `\Amp\Promise` ### `bufferWrite(string $data): \Amp\Promise` Async write. Parameters: * `$data`: `string` Data to write #### See also: * `\Amp\Promise` ### `bufferClear(): string` Get remaining data from buffer. ### `getSocket(): \Amp\Socket\Socket` {@inheritdoc} #### See also: * `\Amp\Socket\Socket` --- Generated by [danog/phpdoc](https://phpdoc.daniil.it)