31 lines
784 B
Java
31 lines
784 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 {
|
|
|
|
Mono<Void> initialize();
|
|
|
|
/**
|
|
* 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);
|
|
|
|
}
|