public <T> Mono<T> requestResponse(
            RpcEndpoint connection,
            RpcRequest<T> request,
            @Nullable Duration timeout) {
        try {
            return requestResponse0(connection, request, timeout);
        } catch (Exception e) {
            return Mono.error(e);
        }
    }
@return 1. an empty publisher if the peer responds with a null value; 2. a non-empty
        publisher if the peer responds with a non-null value; 3. error for other cases (e.g.
        no peer exists).
turms-server-common/src/main/java/im/turms/server/common/infra/cluster/service/rpc/RpcService.java