tdlib-session-container/src/main/java/it/tdlight/reactiveapi/ReactiveApi.java
2022-01-09 20:20:20 +01:00

38 lines
745 B
Java

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<Void> start();
/**
* Send a request to the cluster to load that user id from disk
*/
Mono<Void> tryReviveSession(long userId);
Mono<CreateSessionResponse> createSession(CreateSessionRequest req);
Mono<Map<Long, String>> getAllUsers();
Set<UserIdAndLiveId> getLocalLiveSessionIds();
boolean is(String nodeId);
/**
* May return empty
*/
Mono<Long> resolveUserLiveId(long userId);
ReactiveApiMultiClient multiClient();
ReactiveApiClient dynamicClient(long userId);
ReactiveApiClient liveClient(long liveId, long userId);
Mono<Void> close();
}