Yar_Concurrent_Client
Yar_Concurrent_Client::loop
Yar_Concurrent_Client
PHP Manual

# Yar_Concurrent_Client::call

Register a concurrent call

### Description

public static int Yar_Concurrent_Client::call ( string `$uri` , string `$method` , array `$parameters` [, callable `$callback` ] )

Register a RPC call, but won't sent it immediately, it will be send while further call to Yar_Concurrent_Client::loop

### Parameters

`uri`

  The RPC server URI(http, tcp)

`method`

  Service name(aka the method name)

`parameters`

  Parameters

`callback`

  A function callback, which will be called while the response return.

### Return Values

An unique id, can be used to identified which call it is.

### Examples

Example #1 Yar_Concurrent_Client::call example

`<?php
function callback($retval, $callinfo) {
var_dump($retval);
}
function error_callback($type, $error, $callinfo) {
error_log($error);
}
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters")); // if the callback is not specificed,
// callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
//this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
//custom timeout
//The requests are not sent yet
?>`

The above example will output something similar to:

### See Also

- Yar_Concurrent_Client::loop
- Yar_Server::__construct
- Yar_Server::handle