Kraken\Stream\StreamWriter::close PHP Метод

close() публичный Метод

public close ( )
    public function close()
    {
        if ($this->closing) {
            return;
        }
        $this->closing = true;
        $this->readable = false;
        $this->writable = false;
        $this->emit('close', [$this]);
        $this->handleClose();
        $this->emit('done', [$this]);
    }

Usage Example

Пример #1
0
 public function testStreamReader_StreamWriter_WriteAndReadDataScenario()
 {
     $local = $this->basePath();
     $writer = new StreamWriter(fopen("file://{$local}/temp", 'w+'));
     $reader = new StreamReader(fopen("file://{$local}/temp", 'r+'));
     $expectedData = "qwertyuiop\n";
     $capturedData = null;
     $readData = null;
     $reader->on('data', function ($origin, $data) use(&$capturedData) {
         $capturedData = $data;
     });
     $reader->on('drain', $this->expectCallableNever());
     $reader->on('error', $this->expectCallableNever());
     $reader->on('close', $this->expectCallableOnce());
     $writer->on('data', $this->expectCallableNever());
     $writer->on('drain', $this->expectCallableOnce());
     $writer->on('error', $this->expectCallableNever());
     $writer->on('close', $this->expectCallableOnce());
     $writer->write($expectedData);
     $readData = $reader->read();
     $writer->close();
     $reader->close();
     $this->assertEquals($expectedData, $readData);
     $this->assertEquals($expectedData, $capturedData);
 }