Example #1
0
 function queryIgnoreResult()
 {
     $args = func_get_args();
     $method = array_shift($args);
     if (!$this->socket || $this->protocol == 0) {
         throw new Exception('transport error - Client not initialized', -32300);
     }
     $request = new Request($method, $args);
     // Check if the request is greater than 512 Kbytes to avoid errors
     // If the method is system.multicall, make two calls (possibly recursively)
     if ($request->getLength() > 512 * 1024 - 8) {
         if ($method == 'system.multicall' && isset($args[0])) {
             $count = count($args[0]);
             // If count is 1, query cannot be reduced
             if ($count < 2) {
                 throw new Exception('transport error - request too large!', -32700);
             }
             $length = floor($count / 2);
             $args1 = array_slice($args[0], 0, $length);
             $args2 = array_slice($args[0], $length, $count - $length);
             $res1 = $this->queryIgnoreResult('system.multicall', $args1);
             $res2 = $this->queryIgnoreResult('system.multicall', $args2);
             return $res1 && $res2;
         } else {
             throw new Exception('transport error - request too large!', -32700);
         }
     }
     $this->sendRequest($request);
 }