'Batch RPC call.
Pass array of arrays: [ [ "method", params... ], ... ]
Returns array of results.'

def batch_(self, rpc_calls):

    batch_data = []
    for rpc_call in rpc_calls:
        AuthServiceProxy.__id_count += 1
        m = rpc_call.pop(0)
        batch_data.append({'jsonrpc': '2.0', 'method': m, 'params': rpc_call, 'id': AuthServiceProxy.__id_count})
    postdata = json.dumps(batch_data, default=EncodeDecimal)
    log.debug(('-->    ' + postdata))
    self.__conn.request('POST', self.__url.path, postdata, {'Host': self.__url.hostname, 'User-Agent': USER_AGENT, 'Authorization': self.__auth_header, 'Content-type': 'application/json'})
    results = []
    responses = self._get_response()
    for response in responses:
        if (response['error'] is not None):
            raise JSONRPCException(response['error'])
        elif ('result' not in response):
            raise JSONRPCException({'code': (-343), 'message': 'missing    JSON-RPC    result'})
        else:
            results.append(response['result'])
    return results
