public function testListenOverTimeout() { $this->object->sendAsync(new Request('/queue simple listen', null, 'l'), function ($response) { PHPUnit_Framework_Assert::assertFalse($response); }); $this->assertSame(1, $this->object->getPendingRequestsCount()); $this->assertTrue($this->object->loop(ini_get('default_socket_timeout') + 3)); $this->assertSame(1, $this->object->getPendingRequestsCount()); $this->assertSame(array(), $this->object->extractNewResponses('l')->toArray()); }
public function testCancellingSeparation() { $client = new Client(\HOSTNAME, USERNAME, PASSWORD, PORT, true); $pingRequest = new Request('/ping', null, 'ping'); $pingRequest->setArgument('address', Test\HOSTNAME); $this->object->sendAsync($pingRequest); $client->sendAsync($pingRequest); $client->loop(2); $this->object->loop(2); $this->assertGreaterThan(0, count($client->extractNewResponses('ping'))); $this->assertGreaterThan(0, count($this->object->extractNewResponses('ping'))); unset($client); $this->object->loop(2); $this->assertGreaterThan(0, count($this->object->extractNewResponses('ping'))); }
<?php use PEAR2\Net\RouterOS; require_once 'PEAR2/Autoload.php'; $client = new RouterOS\Client('192.168.0.1', 'admin'); $addRequest = new RouterOS\Request('/ip/arp/add'); $addRequest->setArgument('address', '192.168.0.100'); $addRequest->setArgument('mac-address', '00:00:00:00:00:01'); $addRequest->setTag('arp1'); $client->sendAsync($addRequest); $addRequest->setArgument('address', '192.168.0.101'); $addRequest->setArgument('mac-address', '00:00:00:00:00:02'); $addRequest->setTag('arp2'); $client->sendAsync($addRequest); $client->loop();