public Object get(int timeoutMillis) throws InvokeTimeoutException, RemotingException,
                                        InterruptedException {
        this.future.waitResponse(timeoutMillis);
        if (!isDone()) {
            throw new InvokeTimeoutException("Future get result timeout!");
        }
        ResponseCommand responseCommand = (ResponseCommand) this.future.waitResponse();
        responseCommand.setInvokeContext(this.future.getInvokeContext());
        return RpcResponseResolver.resolveResponseObject(responseCommand, addr);
    }
get result with timeout specified

if request done, resolve normal responseObject
if request not done, throws InvokeTimeoutException
src/main/java/com/alipay/remoting/rpc/RpcResponseFuture.java