package it.cavallium.dbengine.client; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public record SearchResult(Flux> results, long totalHitsCount, Mono release) { public static SearchResult empty() { return new SearchResult<>(Flux.empty(), 0L, Mono.empty()); } public Flux> resultsThenRelease() { return Flux .usingWhen( Mono.just(true), _unused -> results, _unused -> release ); } }