tdlib-session-container/src/main/java/it/tdlight/tdlibsession/td/direct/AsyncTdDirect.java
2021-01-24 04:21:47 +01:00

29 lines
757 B
Java

package it.tdlight.tdlibsession.td.direct;
import it.tdlight.jni.TdApi;
import it.tdlight.jni.TdApi.Function;
import it.tdlight.tdlibsession.td.TdResult;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
public interface AsyncTdDirect {
/**
* Receives incoming updates and request responses from TDLib.
* Can be called only once.
*
*/
Flux<TdApi.Object> receive(AsyncTdDirectOptions options);
/**
* Sends request to TDLib.
* Should be called after receive.
*
* @param request Request to TDLib.
* @param synchronous Execute synchronously.
* @return The request response or {@link it.tdlight.jni.TdApi.Error}.
*/
<T extends TdApi.Object> Mono<TdResult<T>> execute(Function request, boolean synchronous);
}