X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2Finmemory%2FInMemoryChatHomeService.java;h=29f1312733e569d87b6075b99ad79712939886c8;hb=e9a4bf3c31d504611fba0cc0be4a1e04812e2c65;hp=13341244db3df7891b0223b8fe22a931fad6ffe3;hpb=0ff0e013a3d1f112f8e8c7280a4948ce0662eb10;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatHomeService.java b/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatHomeService.java index 13341244..29f13127 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatHomeService.java +++ b/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatHomeService.java @@ -6,6 +6,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.*; +import java.util.stream.IntStream; @Slf4j @@ -60,6 +61,14 @@ public class InMemoryChatHomeService return Mono.justOrEmpty(chatrooms[shard].get(id)); } + public int[] getOwnedShards() + { + return IntStream + .range(0, chatrooms.length) + .filter(i -> chatrooms[i] != null) + .toArray(); + } + public Flux getChatRooms(int shard) { return Flux.fromStream(chatrooms[shard].values().stream());