Пример #1
0
 /**
  * Tests the Context runOnContext method directly.
  */
 public function testGetContext()
 {
     $context = Vertx::currentContext();
     $context->runOnContext(function () {
         $this->complete();
     });
 }
Пример #2
0
 public function setUp()
 {
     $this->fileSystem = Vertx::fileSystem();
     if ($this->fileSystem->existsSync(TEST_OUTPUT_DIRECTORY)) {
         $this->fileSystem->deleteRecursiveSync(TEST_OUTPUT_DIRECTORY);
     }
     $this->fileSystem->mkdirSync(TEST_OUTPUT_DIRECTORY, 'rwxr-xr-x');
 }
Пример #3
0
 public function setUp()
 {
     $this->server = Vertx::createHttpServer();
     $this->client = Vertx::createHttpClient();
     $this->client->port = 8080;
     $this->routeMatcher = new Vertx\Http\RouteMatcher();
     $this->server->requestHandler($this->routeMatcher);
 }
Пример #4
0
function do_undeploy($deployId, $count)
{
    Vertx::undeployVerticle($deployId, function () {
        $count++;
        if ($count < 10) {
            do_deploy($count);
        } else {
            Vertx::logger()->info('Done!');
        }
    });
}
Пример #5
0
 /**
  * Tests a periodic timer.
  */
 public function testPeriodic()
 {
     $total = 10;
     $count = 0;
     Vertx::setPeriodic(10, function ($timer_id) use(&$count, $total) {
         $this->assertNotNull($timer_id);
         $count += 1;
         if ($count == $total) {
             Vertx::cancelTimer($timer_id);
             Vertx::setTimer(10, function () {
                 $this->complete();
             });
         } else {
             if ($count > $total) {
                 $this->assertTrue(FALSE, 'Counter went off too many times!');
             }
         }
     });
 }
Пример #6
0
<?php

$log = Vert::logger();
$log->info('Deploying module');
$config = array('some-var' => 'Hello world!');
Vertx::deployModule('org.foo~bar-mod~1.0.0', $config, 1, function ($deployId, $error) use($log) {
    if (empty($error)) {
        $log->info('Deployment ID is ' . $deployId);
    } else {
        $log->info('Failed to deploy module.');
    }
});
Пример #7
0
 /**
  * Tests failing a verticle undeploy.
  */
 public function testUndeployFail()
 {
     Vertx::undeployVerticle('asdlkjsdalf', function ($error) {
         $this->assertNotNull($error);
         $this->complete();
     });
 }
Пример #8
0
<?php

$client = Vertx::createHttpClient();
$client->port = 4443;
$client->ssl = TRUE;
$client->getNow('/', function ($response) {
    $log = Container::logger();
    $log->info('Got response ' . $response->statusCode());
    $response->bodyHandler(function ($body) use($log) {
        $log->info('Got data ' . $body);
    });
});
Пример #9
0
<?php

$server = Vertx::createHttpServer();
$server->ssl = TRUE;
$server->keyStorePath = 'server-keystore.jks';
$server->keyStorePassword = '******';
$server->requestHandler(function ($request) {
    $request->response->end('<html><body><h1>Hello from vert.x!</h1></body></html>');
})->listen(4443, 'localhost');
Пример #10
0
<?php

$config = array('name' => 'tim', 'age' => 823823);
Vertx::deployVerticle('deploy/child.php', $config);
Пример #11
0
<?php

Vertx::logger()->info('Config is ' . var_dump(Vertx::config()));
Пример #12
0
<?php

$log = Vertx::logger();
$log->info('In foo mod!');
$config = Vertx::config();
$log->info('some-var is ' . $config['some-var']);
Пример #13
0
<?php

$logger = Vertx::logger();
$logger->info('in child.php, config is ' . var_dump(Vertx::config()));
Пример #14
0
<?php

require_vertx("hello-lib.php");
$eventBus = Vertx::eventBus();
Vertx::logger()->info(sayHello("User"));
/**
 * Test if the require_vertx really loads php files of other module ressources
 * if they are included
 */
$eventBus->registerHandler('test.require_vertx', function ($message) {
    $message->reply(sayHello("Test"));
});
/**
 * test if the Autoclassloader is using the Vertx Classloader to load
 * internal classes
 */
$eventBus->registerHandler('test.autoload.internal', function ($message) {
    $helloObject = new InternalHelloClass("Test");
    $message->reply($helloObject->sayHello());
});
/**
 * test if the Autoclassloader is using the Vertx ClassLoader, so it can find
 * included module classes
 */
$eventBus->registerHandler('test.autoload.external', function ($message) {
    $helloObject = new lib\ExternalHelloClass("Test");
    $message->reply($helloObject->sayHello());
});
Пример #15
0
<?php

$routeMatcher = new Vertx\Http\RouteMatcher();
$routeMatcher->get('/details/:user/:id', function ($request) {
    $request->response->end('User: '******'user'] . ' ID: ' . $request->params['id']);
});
$routeMatcher->getWithRegEx('.*', function ($request) {
    $request->response->sendFile('route_match/index.html');
});
Vertx::createHttpServer()->routeHandler($routeMatcher)->listen(8080);
Пример #16
0
<?php

use Vertx\Pump;
Vertx::createNetServer()->connectHandler(function ($socket) {
    $pump = new Pump($socket, $socket);
    $pump->start();
})->listen(1234);
Пример #17
0
<?php

$eventBus = Vertx::eventBus();
Vertx::setPeriodic(1000, function () use($eventBus) {
    $eventBus->publish('news-feed', 'Some news!');
});
Пример #18
0
<?php

/*
 * Copyright 2013 the original author or authors.
 *
 * Licensed under the MIT License (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 *     http://opensource.org/licenses/MIT
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
Vertx::eventBus();
Пример #19
0
<?php

$logger = Vertx::logger();
Vertx::eventBus()->registerHandler('news-feed', function ($message) use($logger) {
    $logger->info('Received news ' . $message->body);
});
Пример #20
0
<?php

/*
 * Copyright 2013 the original author or authors.
 *
 * Licensed under the MIT License (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 *     http://opensource.org/licenses/MIT
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
Vertx::eventBus()->send('test-address', 'started');
Пример #21
0
<?php

$logger = Vertx::logger();
Vertx::createHttpClient()->setPort(8080)->getNow('/', function ($response) use($logger) {
    $logger->info('Got response ' . $response->statusCode());
    $response->bodyHandler(function ($body) use($logger) {
        $logger->info('Got body ' . $body);
    });
});
Пример #22
0
 /**
  * Tests HTTP client methods.
  */
 public function testClientMethods()
 {
     $client = Vertx::createHttpClient();
     $client->host('0.0.0.0');
     $this->assertEquals($client->host(), '0.0.0.0');
     $client->host = '1.1.1.1';
     $this->assertEquals($client->host, '1.1.1.1');
     $client->port(12345);
     $this->assertEquals($client->port(), 12345);
     $client->port = 12345;
     $this->assertEquals($client->port, 12345);
     $client->ssl = TRUE;
     $this->assertTrue($client->ssl);
     $client->ssl = FALSE;
     $this->assertFalse($client->ssl);
     $client->ssl(TRUE);
     $this->assertTrue($client->ssl());
     $client->keyStorePath('foo.jks');
     $this->assertEquals($client->keyStorePath(), 'foo.jks');
     $client->keyStorePath = 'bar.jks';
     $this->assertEquals($client->keyStorePath, 'bar.jks');
     $client->keyStorePassword('foo');
     $this->assertEquals($client->keyStorePassword(), 'foo');
     $client->keyStorePassword = '******';
     $this->assertEquals($client->keyStorePassword, 'bar');
     $client->trustStorePath('foo.jks');
     $this->assertEquals($client->trustStorePath(), 'foo.jks');
     $client->trustStorePath = 'bar.jks';
     $this->assertEquals($client->trustStorePath, 'bar.jks');
     $client->trustStorePassword('foo');
     $this->assertEquals($client->trustStorePassword(), 'foo');
     $client->trustStorePassword = '******';
     $this->assertEquals($client->trustStorePassword, 'bar');
     $client->trustAll = TRUE;
     $this->assertTrue($client->trustAll);
     $client->trustAll = FALSE;
     $this->assertFalse($client->trustAll);
     $client->trustAll(TRUE);
     $this->assertTrue($client->trustAll());
     $client->sendBufferSize(12345);
     $this->assertEquals($client->sendBufferSize(), 12345);
     $client->sendBufferSize = 12345;
     $this->assertEquals($client->sendBufferSize, 12345);
     $client->receiveBufferSize(12345);
     $this->assertEquals($client->receiveBufferSize(), 12345);
     $client->receiveBufferSize = 12345;
     $this->assertEquals($client->receiveBufferSize, 12345);
     $client->keepAlive = TRUE;
     $this->assertTrue($client->keepAlive);
     $client->keepAlive = FALSE;
     $this->assertFalse($client->keepAlive);
     $client->keepAlive(TRUE);
     $this->assertTrue($client->keepAlive());
     $client->reuseAddress = TRUE;
     $this->assertTrue($client->reuseAddress);
     $client->reuseAddress = FALSE;
     $this->assertFalse($client->reuseAddress);
     $client->reuseAddress(TRUE);
     $this->assertTrue($client->reuseAddress());
     $client->verifyHost = TRUE;
     $this->assertTrue($client->verifyHost);
     $client->verifyHost = FALSE;
     $this->assertFalse($client->verifyHost);
     $client->verifyHost(TRUE);
     $this->assertTrue($client->verifyHost());
     $client->trafficClass(12345);
     $this->assertEquals($client->trafficClass(), 12345);
     $client->trafficClass = 12345;
     $this->assertEquals($client->trafficClass, 12345);
     $client->connectTimeout(12345);
     $this->assertEquals($client->connectTimeout(), 12345);
     $client->connectTimeout = 12345;
     $this->assertEquals($client->connectTimeout, 12345);
     $client->maxPoolSize(12345);
     $this->assertEquals($client->maxPoolSize(), 12345);
     $client->maxPoolSize = 12345;
     $this->assertEquals($client->maxPoolSize, 12345);
     $this->complete();
 }
Пример #23
0
 public function setUp()
 {
     $this->eventBus = Vertx::eventBus();
 }
Пример #24
0
 /**
  * Tests net client methods.
  */
 public function testClientMethods()
 {
     $client = Vertx::createNetClient();
     $client->ssl = TRUE;
     $this->assertTrue($client->ssl);
     $client->ssl = FALSE;
     $this->assertFalse($client->ssl);
     $client->ssl(TRUE);
     $this->assertTrue($client->ssl());
     $client->keyStorePath('foo.jks');
     $this->assertEquals($client->keyStorePath(), 'foo.jks');
     $client->keyStorePath = 'bar.jks';
     $this->assertEquals($client->keyStorePath, 'bar.jks');
     $client->keyStorePassword('foo');
     $this->assertEquals($client->keyStorePassword(), 'foo');
     $client->keyStorePassword = '******';
     $this->assertEquals($client->keyStorePassword, 'bar');
     $client->trustStorePath('foo.jks');
     $this->assertEquals($client->trustStorePath(), 'foo.jks');
     $client->trustStorePath = 'bar.jks';
     $this->assertEquals($client->trustStorePath, 'bar.jks');
     $client->trustStorePassword('foo');
     $this->assertEquals($client->trustStorePassword(), 'foo');
     $client->trustStorePassword = '******';
     $this->assertEquals($client->trustStorePassword, 'bar');
     $client->trustAll = TRUE;
     $this->assertTrue($client->trustAll);
     $client->trustAll = FALSE;
     $this->assertFalse($client->trustAll);
     $client->trustAll(TRUE);
     $this->assertTrue($client->trustAll());
     $client->sendBufferSize(12345);
     $this->assertEquals($client->sendBufferSize(), 12345);
     $client->sendBufferSize = 12345;
     $this->assertEquals($client->sendBufferSize, 12345);
     $client->receiveBufferSize(12345);
     $this->assertEquals($client->receiveBufferSize(), 12345);
     $client->receiveBufferSize = 12345;
     $this->assertEquals($client->receiveBufferSize, 12345);
     $client->keepAlive = TRUE;
     $this->assertTrue($client->keepAlive);
     $client->keepAlive = FALSE;
     $this->assertFalse($client->keepAlive);
     $client->keepAlive(TRUE);
     $this->assertTrue($client->keepAlive());
     $client->reuseAddress = TRUE;
     $this->assertTrue($client->reuseAddress);
     $client->reuseAddress = FALSE;
     $this->assertFalse($client->reuseAddress);
     $client->reuseAddress(TRUE);
     $this->assertTrue($client->reuseAddress());
     $client->trafficClass(12345);
     $this->assertEquals($client->trafficClass(), 12345);
     $client->trafficClass = 12345;
     $this->assertEquals($client->trafficClass, 12345);
     $this->complete();
 }
Пример #25
0
 /**
  * Tests sending a message to an unregistering handler.
  */
 public function testSendUnregisterSend()
 {
     $this->currentHandlerId = $this->eventBus->registerHandler(self::TEST_ADDRESS, function ($message) {
         $this->assertNotNull($message->replyAddress);
         if ($this->received) {
             $this->assertTrue(FALSE, 'Handler was already called.');
         }
         $this->assertEquals($message->body['message'], self::$jsonMessage['message']);
         $this->eventBus->unregisterHandler($this->currentHandlerId);
         $this->received = TRUE;
         Vertx::setTimer(100, function () {
             $this->complete();
         });
     });
     $this->assertNotNull($this->currentHandlerId);
     $this->eventBus->send(self::TEST_ADDRESS, self::$jsonMessage);
     $this->eventBus->send(self::TEST_ADDRESS, self::$jsonMessage);
 }
Пример #26
0
<?php

Vertx::createHttpServer()->requestHandler(function ($request) {
    $request->response()->end('<html><body><h1>Hello from vert.x!</h1></body></html>');
})->listen(8080);
Пример #27
0
<?php

$eventBus = Vertx::eventBus();
$logger = Vertx::logger();
Vertx::setPeriodic(1000, function () use($eventBus, $logger) {
    $eventBus->send('ping-address', 'ping', function ($reply) use($logger) {
        $logger->info("Received reply " . $reply->body);
    });
});
Пример #28
0
<?php

$logger = Vertx::logger();
Vertx::eventBus()->registerHandler('ping-address', function ($message) use($logger) {
    $logger->info("Received message " . $message->body());
    $message->reply('pong');
});
Пример #29
0
<?php

use Vertx\Buffer;
$client = Vertx::createNetClient();
$logger = Vertx::logger();
$client->connectTimeout = 30;
$client->connect(1234, NULL, function ($socket, $error) use($logger) {
    if (!$error) {
        $buffer = new Buffer();
        $socket->dataHandler(function ($buffer) use($logger) {
            $logger->info("Client receiving " . $buffer);
            $buffer->appendBuffer($buffer);
        });
        for ($i = 0; $i < 10; $i++) {
            $message = "Hello {$i}.";
            $logger->info("Client sending " . $message);
            $socket->write($message);
        }
    } else {
        $logger->info("Failed to connect to the server. " . $error->getMessage());
    }
});
Пример #30
0
 public function setUp()
 {
     $this->sharedData = Vertx::sharedData();
 }