tdlib-session-container/src/main/java/it/tdlight/reactiveapi/LiveAtomixReactiveApiClient...

29 lines
915 B
Java
Raw Normal View History

2022-01-07 12:21:41 +01:00
package it.tdlight.reactiveapi;
import it.tdlight.reactiveapi.Event.ClientBoundEvent;
2022-09-22 15:46:31 +02:00
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
2022-01-07 12:21:41 +01:00
import reactor.core.publisher.Flux;
2022-01-21 22:25:47 +01:00
public class LiveAtomixReactiveApiClient extends BaseAtomixReactiveApiClient {
2022-01-07 12:21:41 +01:00
2022-10-04 12:43:24 +02:00
private final ClientsSharedTdlib kafkaSharedTdlibClients;
2022-01-21 22:25:47 +01:00
2022-10-04 12:43:24 +02:00
LiveAtomixReactiveApiClient(ClientsSharedTdlib kafkaSharedTdlibClients) {
2022-09-13 22:15:18 +02:00
super(kafkaSharedTdlibClients);
2022-09-22 15:46:31 +02:00
this.kafkaSharedTdlibClients = kafkaSharedTdlibClients;
2022-01-07 12:21:41 +01:00
}
@Override
2022-09-22 15:46:31 +02:00
public Flux<ClientBoundEvent> clientBoundEvents(String lane) {
return kafkaSharedTdlibClients.events(lane).map(Timestamped::data);
2022-01-07 12:21:41 +01:00
}
2022-01-07 23:54:18 +01:00
2022-09-22 15:46:31 +02:00
@Override
public Map<String, Flux<ClientBoundEvent>> clientBoundEvents() {
return kafkaSharedTdlibClients.events().entrySet().stream()
.collect(Collectors.toUnmodifiableMap(Entry::getKey, e -> e.getValue().map(Timestamped::data)));
}
2022-01-07 12:21:41 +01:00
}