MadelineProtoDocs/docs/PHPInternal/danog/MadelineProto/Stream/Common/CtrStream.md

3.6 KiB

title: danog\MadelineProto\Stream\Common\CtrStream: AES CTR stream wrapper. description: Manages AES CTR encryption/decryption

danog\MadelineProto\Stream\Common\CtrStream

Back to index

Author: Daniil Gentili daniil@daniil.it

AES CTR stream wrapper.

Manages AES CTR encryption/decryption

Method list:

  • connect(\danog\MadelineProto\Stream\ConnectionContext $ctx): \Generator
  • disconnect(): \Amp\Promise
  • getWriteBufferGenerator(int $length): \Generator
  • getReadBufferGenerator(int $length): \Generator
  • bufferReadGenerator(\Amp\Promise $promise): \Generator That resolves with a string when the provided promise is resolved and the data is decrypted
  • bufferWrite(string $data): \Promise Succeeds once the data has been successfully written to the stream.
  • setExtra(array $data): void
  • getSocket(): \Amp\Socket\EncryptableSocket
  • getStream(): \danog\MadelineProto\Stream\RawStreamInterface
  • getReadBuffer(int $length): \Amp\Promise
  • getWriteBuffer(int $length, string $append): \Amp\Promise

Methods:

connect(\danog\MadelineProto\Stream\ConnectionContext $ctx): \Generator

Connect to stream.

Parameters:

  • $ctx: \danog\MadelineProto\Stream\ConnectionContext The connection context

See also:

disconnect(): \Amp\Promise

Async close.

See also:

  • \Amp\Promise

getWriteBufferGenerator(int $length): \Generator

Get write buffer asynchronously.

Parameters:

  • $length: int Length of data that is going to be written to the write buffer

See also:

  • \Generator

getReadBufferGenerator(int $length): \Generator

Get read buffer asynchronously.

Parameters:

  • $length: int Length of payload, as detected by this layer

See also:

  • \Generator

bufferReadGenerator(\Amp\Promise $promise): \Generator That resolves with a string when the provided promise is resolved and the data is decrypted

Decrypts read data asynchronously.

Parameters:

  • $promise: \Amp\Promise Promise that resolves with a string when new data is available or null if the stream has closed.

Return value: That resolves with a string when the provided promise is resolved and the data is decrypted

See also:

  • \Amp\Promise

bufferWrite(string $data): \Promise Succeeds once the data has been successfully written to the stream.

Writes data to the stream.

Parameters:

  • $data: string Bytes to write.

Return value: Succeeds once the data has been successfully written to the stream.

setExtra(array $data): void

Set obfuscation keys/IVs.

Parameters:

  • $data: array Keys

getSocket(): \Amp\Socket\EncryptableSocket

{@inheritdoc}

See also:

  • \Amp\Socket\EncryptableSocket

getStream(): \danog\MadelineProto\Stream\RawStreamInterface

{@inheritDoc}

See also:

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, string $append): \Amp\Promise

Get write buffer asynchronously.

Parameters:

  • $length: int Total length of data that is going to be piped in the buffer
  • $append: string Data to append after entire buffer is written

See also:

  • \Amp\Promise

Generated by danog/phpdoc