Skip to content

Commit 68df48e

Browse files
committed
Made WSHandler iterable
1 parent c2c6bd0 commit 68df48e

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/main/java/dev/latvian/apps/tinyserver/http/file/FileIndexHandler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.nio.file.Path;
1212

1313
public record FileIndexHandler<REQ extends HTTPRequest>(Path rootDirectory, Path directory, FileResponseHandler responseHandler) implements HTTPHandler<REQ> {
14-
1514
@Override
1615
public HTTPResponse handle(REQ req) throws IOException {
1716
if (Files.exists(directory) && Files.isReadable(directory) && Files.isDirectory(directory)) {

src/main/java/dev/latvian/apps/tinyserver/ws/WSHandler.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,32 @@
11
package dev.latvian.apps.tinyserver.ws;
22

33
import dev.latvian.apps.tinyserver.http.HTTPRequest;
4+
import org.jetbrains.annotations.NotNull;
45

6+
import java.util.Iterator;
57
import java.util.Map;
8+
import java.util.Spliterator;
69
import java.util.UUID;
710
import java.util.function.Supplier;
811

9-
public interface WSHandler<REQ extends HTTPRequest, WSS extends WSSession<REQ>> {
12+
public interface WSHandler<REQ extends HTTPRequest, WSS extends WSSession<REQ>> extends Iterable<WSS> {
1013
static <REQ extends HTTPRequest, WSS extends WSSession<REQ>> WSHandler<REQ, WSS> empty() {
1114
return (WSHandler) EmptyWSHandler.INSTANCE;
1215
}
1316

1417
Map<UUID, WSS> sessions();
1518

19+
@Override
20+
@NotNull
21+
default Iterator<WSS> iterator() {
22+
return sessions().values().iterator();
23+
}
24+
25+
@Override
26+
default Spliterator<WSS> spliterator() {
27+
return sessions().values().spliterator();
28+
}
29+
1630
default void broadcast(Frame frame) {
1731
var s = sessions().values();
1832

0 commit comments

Comments
 (0)