Unofficial work of PHP gRPC implementation for asynchronous calls. The implementation is taken from @arnaud-lb php-async branch.
Here lies the documentation to interact with my own grpc binding library.
PHP does not have an event-loop, therefore user-space event loop is required to check if a call is completed. The following must be called periodically:
Call::drainCompletionQueue(PHP_INT_MIN);
The first parameter specifies the time to wait for any queue to complete. In this case, the completion queue will check if any calls is complete once.
To establish a bidirectional call, user must wait for the connection to be established to the remote server before sending any messages.
This can be achieved by providing a callback to ClientCallInterface::onClientReady(Closure)
.
Alternatively, ClientCallInterface::isReady()
can be used to check if the call is ready to send any message to the remote server.
ClientStreamingCall | BidiStreamingCall |
---|