thruster / stream
Thruster 流组件
1.2.0
2016-01-24 17:33 UTC
Requires
- php: >=7.0
- thruster/event-emitter: ~1.0
- thruster/event-loop: ~1.0
- thruster/promise: ~1.0
Requires (Dev)
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2024-09-14 02:48:15 UTC
README
[] (https://github.com/ThrusterIO/stream/releases) [
] (LICENSE) [
] (https://travis-ci.org/ThrusterIO/stream) [
] (https://scrutinizer-ci.com/g/ThrusterIO/stream) [
] (https://scrutinizer-ci.com/g/ThrusterIO/stream) [
] (https://packagist.org.cn/packages/thruster/stream)
Thruster Stream 组件。
基本的可读和可写流接口,支持管道操作。
为了使事件循环更容易使用,此组件引入了流的概念。它们与PHP本身中的流非常相似,但接口更适合异步I/O。
主要提供可读和可写流的接口,以及基于文件描述符的实现,带有内存写入缓冲区。
安装
通过 Composer
$ composer require thruster/stream
可读流
EventEmitter 事件
data
:每当从源读取数据时都会触发。end
:当源到达eof
时触发。error
:当发生错误时触发。close
:当连接关闭时触发。
方法
isReadable()
:检查流是否仍然处于可读状态。当连接结束、关闭或发生错误时,流变为不可读。pause()
:从事件循环中移除数据源文件描述符。这允许您限制传入的数据。resume()
:在pause()
之后重新附加数据源。pipe(WritableStreamInterface $dest, array $options = [])
:将此可读流连接到可写流。自动将所有传入数据发送到目的地。根据目的地处理能力自动限制。
可写流
EventEmitter 事件
drain
:如果之前写缓冲区已满并且现在可以接受更多数据时触发。error
:当发生错误时触发。close
:当连接关闭时触发。pipe
:当可读流被pipe()
连接到此流时触发。
方法
isWritable()
:检查流是否仍然可写。在发生错误或关闭后不能写入。write($data)
:将一些数据写入流。如果流无法处理,应缓冲数据或触发一个error
事件。如果内部缓冲区在添加$data
后已满,则write
应返回 false,表示调用者应停止发送数据,直到缓冲区drain
为止。end($data = null)
:可选地写入一些最终数据到流中,清空缓冲区,然后关闭它。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CONDUCT 了解详情。
许可证
请参阅 许可证文件 获取更多信息。