From fc7c0ddc5b939bf5d2b44a36ab14508d36fee3ba Mon Sep 17 00:00:00 2001 From: Edoardo La Greca Date: Tue, 5 Aug 2025 21:23:50 +0200 Subject: add receiver method to TransportLayer --- src/main/kotlin/TransportLayerJavaNet.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/main/kotlin/TransportLayerJavaNet.kt') diff --git a/src/main/kotlin/TransportLayerJavaNet.kt b/src/main/kotlin/TransportLayerJavaNet.kt index 1085100..d2ee2af 100644 --- a/src/main/kotlin/TransportLayerJavaNet.kt +++ b/src/main/kotlin/TransportLayerJavaNet.kt @@ -30,6 +30,16 @@ class TransportLayerJavaNet : TransportLayer { constructor(address: String, port: UShort) constructor(fullAddress: String) + private class InStreamIterator(val inStream: InputStream) : Iterator { + override fun next(): UByte { + return this.inStream.readNBytes(1).first().toUByte() + } + + override fun hasNext(): Boolean { + return this.inStream.available() > 0 + } + } + override fun close() { if (this.socket.isClosed) { return @@ -75,4 +85,8 @@ class TransportLayerJavaNet : TransportLayer { } return Array(bytes.size) { i -> bytes[i].toUByte() } } + + override fun receiver(): Iterable { + return Iterable { InStreamIterator(this.inStream) } + } } \ No newline at end of file -- cgit v1.2.3