X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2Finmemory%2FInMemoryChatHomeService.java;h=29f1312733e569d87b6075b99ad79712939886c8;hb=fdf9188a7abebcd709635f3eb7c5205f7f2405c7;hp=13341244db3df7891b0223b8fe22a931fad6ffe3;hpb=0045b8403de5be4df59be61e28421e84508a5278;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());