close() public method

public close ( )
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']]);
 }