| 
					
				 | 
			
			
				@@ -48,14 +48,14 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private $update_metadata; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param $hostname string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param $opts array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param string  $hostname 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param array   $opts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      *  - 'update_metadata': (optional) a callback function which takes in a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * metadata array, and returns an updated metadata array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      *  - 'grpc.primary_user_agent': (optional) a user-agent string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param $channel Channel An already created Channel object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param Channel $channel An already created Channel object (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function __construct($hostname, $opts, $channel = null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function __construct($hostname, $opts, Channel $channel = null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $ssl_roots = file_get_contents( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dirname(__FILE__).'/../../../../etc/roots.pem'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,7 +98,7 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return string The URI of the endpoint. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return string The URI of the endpoint 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function getTarget() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -106,7 +106,7 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param $try_to_connect bool 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param bool $try_to_connect (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return int The grpc connectivity state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -145,6 +145,12 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $this->_checkConnectivityState($new_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param $new_state Connect state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return bool true if state is CHANNEL_READY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @throw Exception if state is CHANNEL_FATAL_FAILURE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private function _checkConnectivityState($new_state) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($new_state == \Grpc\CHANNEL_READY) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -167,6 +173,10 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * constructs the auth uri for the jwt. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param string $method The method string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return string The URL string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private function _get_jwt_aud_uri($method) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -191,7 +201,7 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param array $metadata The metadata map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return $metadata Validated and key-normalized metadata map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return array $metadata Validated and key-normalized metadata map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @throw InvalidArgumentException if key contains invalid characters 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private function _validate_and_normalize_metadata($metadata) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -220,14 +230,16 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param mixed    $argument    The argument to the method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param callable $deserialize A function that deserializes the response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param array    $metadata    A metadata map to send to the server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     *                              (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param array    $options     An array of options (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return SimpleSurfaceActiveCall The active call object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function _simpleRequest($method, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    $argument, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    $deserialize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                   array $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                   array $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $call = new UnaryCall($this->channel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               $method, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -251,17 +263,17 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * output. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param string   $method      The name of the method to call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param array    $arguments   An array or Traversable of arguments to stream to the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     *                              server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param callable $deserialize A function that deserializes the response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param array    $metadata    A metadata map to send to the server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     *                              (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param array    $options     An array of options (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return ClientStreamingSurfaceActiveCall The active call object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function _clientStreamRequest($method, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                          callable $deserialize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                         $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                         $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         array $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         array $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $call = new ClientStreamingCall($this->channel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         $method, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -281,21 +293,23 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * Call a remote method that takes a single argument and returns a stream of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * responses. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Call a remote method that takes a single argument and returns a stream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * of responses. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param string   $method      The name of the method to call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param mixed    $argument    The argument to the method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param callable $deserialize A function that deserializes the responses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param array    $metadata    A metadata map to send to the server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     *                              (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param array    $options     An array of options (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return ServerStreamingSurfaceActiveCall The active call object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function _serverStreamRequest($method, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                          $argument, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                          callable $deserialize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                         $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                         $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         array $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         array $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $call = new ServerStreamingCall($this->channel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         $method, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -320,13 +334,15 @@ class BaseStub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param string   $method      The name of the method to call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param callable $deserialize A function that deserializes the responses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param array    $metadata    A metadata map to send to the server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     *                              (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param array    $options     An array of options (optional) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return BidiStreamingSurfaceActiveCall The active call object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function _bidiRequest($method, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                  callable $deserialize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                 $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                 $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 array $metadata = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 array $options = []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $call = new BidiStreamingCall($this->channel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       $method, 
			 |