/**
  * @test
  */
 public function itReadsToEnd()
 {
     $handle = $this->wrap(fopen('php://temp', 'w+'));
     fwrite($handle, 'data');
     async_stream_register_write($handle, function ($handle) {
         fseek($handle, 0);
         $this->assertFalse(feof($handle));
         fread($handle, 4);
         $this->assertTrue(feof($handle));
         fclose($handle);
     });
     $this->loop->run();
 }
Ejemplo n.º 2
0
<?php

use krinfreschi\AsyncStreams\AsyncStreamWrapper;
require_once "vendor/autoload.php";
$resource = fopen('php://temp', 'r+');
$handle = AsyncStreamWrapper::make($resource);
fwrite($handle, 'data');
async_stream_register_read($handle, function ($handle) {
});
async_stream_register_write($handle, function ($handle, $written, $unwritten) {
    fseek($handle, 0);
    var_dump(stream_get_contents($handle));
    fclose($handle);
});
AsyncStreamWrapper::run();