Php/docs/yar-concurrent-client.call
Yar_Concurrent_Client::call
(PECL yar >= 1.0.0)
Yar_Concurrent_Client::call — Register a concurrent call
Description
public static Yar_Concurrent_Client::call
( string $uri
, string $method
[, array $parameters
[, callable $callback
[, callable $error_callback
[, array $options
]]]] ) : int
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
<?phpfunction callback($retval, $callinfo) { var_dump($retval);}function error_callback($type, $error, $callinfo) { error_log($error);}Yar_Concurrent_Client::call("http://host/api/%22, "some_method", array("parameters"), "callback");Yar_Concurrent_Client::call("http://host/api/%22, "some_method", array("parameters")); // if the callback is not specificed, // callback in loop will be usedYar_Concurrent_Client::call("http://host/api/%22, "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json")); //this server accept json packagerYar_Concurrent_Client::call("http://host/api/%22, "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() - Send all calls
- Yar_Concurrent_Client::reset() - Clean all registered calls
- Yar_Server::__construct() - Register a server
- Yar_Server::handle() - Start RPC Server