Kraken\Ipc\Socket\SocketListener::close PHP Method

close() public method

public close ( )
    public function close()
    {
        if (!$this->isOpen()) {
            return;
        }
        $this->open = false;
        $this->emit('close', [$this]);
        $this->handleClose();
        $this->emit('done', [$this]);
    }

Usage Example

Example #1
0
 /**
  * @dataProvider endpointProvider
  */
 public function testSocketWritesAndReadsDataCorrectly($endpoint)
 {
     $this->simulate(function (SimulationInterface $sim) use($endpoint) {
         $loop = $sim->getLoop();
         $server = new SocketListener($endpoint, $loop);
         $server->on('connect', function (SocketListenerInterface $server, SocketInterface $conn) use($sim) {
             $conn->on('data', function (SocketInterface $conn, $data) use($server, $sim) {
                 $sim->expect('data', $data);
                 $conn->write('secret answer!');
                 $server->close();
             });
         });
         $server->on('error', $this->expectCallableNever());
         $server->on('close', function () use($sim) {
             $sim->expect('close');
         });
         $client = new Socket($endpoint, $loop);
         $client->on('data', function (SocketInterface $conn, $data) use($loop, $sim) {
             $sim->expect('data', $data);
             $conn->close();
             $sim->done();
         });
         $client->on('error', $this->expectCallableNever());
         $client->on('close', function () use($sim) {
             $sim->expect('close');
         });
         $client->write('secret question!');
     })->expect([['data', 'secret question!'], ['close'], ['data', 'secret answer!'], ['close']]);
 }