package it.tdlight.reactiveapi; import java.util.List; import java.util.Map; import java.util.Set; import reactor.core.publisher.Mono; public interface ReactiveApi { Mono start(); /** * Send a request to the cluster to load that user id from disk */ Mono tryReviveSession(long userId); Mono createSession(CreateSessionRequest req); Mono> getAllUsers(); Set getLocalLiveSessionIds(); boolean is(String nodeId); /** * May return empty */ Mono resolveUserLiveId(long userId); ReactiveApiMultiClient multiClient(String subGroupId); ReactiveApiClient dynamicClient(String subGroupId, long userId); ReactiveApiClient liveClient(String subGroupId, long liveId, long userId); Mono close(); }