Example #1
0
$clReq1 = new PlutonClientRequest();
$clReq2 = new PlutonClientRequest();
$req1 = "1234567890";
$req2 = "qwertyuiop";
$clReq1->setRequestData($req1);
if (!$pc->addRequest(SERVICE_KEY, $clReq1)) {
    print_r("addRequest Error! " . $pc->getFault() . "\n");
    exit(-1);
}
$clReq2->setRequestData($req2);
if (!$pc->addRequest(SERVICE_KEY, $clReq2)) {
    print_r("addRequest Error! " . $pc->getFault() . "\n");
    exit(-1);
}
// ExecuteAndWaitALL
$pc->executeAndWaitAll();
if ($pc->hasFault()) {
    print_r("Fault! " . $pc->getFault() . "\n");
    exit(-1);
}
$response = '';
$fault = $clReq1->getResponseData($response);
if ($fault != 0) {
    print_r("fault: " . $clReq1->getFaultText() . "\n");
    exit(1);
}
if ($response != $req1) {
    print_r("Req1 output is not same as input! [{$response}] vs [{$req1}]\n");
    exit(1);
}
$fault = $clReq2->getResponseData($response);
function abortme($why, $excode)
{
    print "Context1 failed: {$why}\n";
    exit($excode);
}
$client = new PlutonClient('context');
$request = new PlutonClientRequest();
$client->initialize();
if (!$request->setContext("random", 23)) {
    abortme("Context set of innocuous name failed", 1);
}
if ($request->setContext("pluton.haha", 24)) {
    abortme("Context set of protected namespace succeeded", 2);
}
$request->reset();
$request->setContext("echo.sleepMS", "3300");
$res = $client->addRequest("system.echo.0.raw", $request);
print "AddRequest = {$res}\n";
if (!$res) {
    $em1 = $request->getFaultText();
    $em2 = $client->getFault();
    abortme("addRequest Failed with {$em1}:{$em2}", 3);
}
$st = time();
$res = $client->executeAndWaitAll();
print "E&WAll = {$res}\n";
$et = time();
print "Time diffs st={$st} et={$et}\n";
if ($st + 2 > $et) {
    abortme("Context didn't caused echo to sleep - was it really set?", 3);
}