summaryrefslogtreecommitdiff
path: root/src/main/kotlin/net/TransportLayer.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/net/TransportLayer.kt')
-rw-r--r--src/main/kotlin/net/TransportLayer.kt59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/main/kotlin/net/TransportLayer.kt b/src/main/kotlin/net/TransportLayer.kt
deleted file mode 100644
index 90dcd11..0000000
--- a/src/main/kotlin/net/TransportLayer.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-package net
-
-import java.io.Closeable
-
-/**
- * [TransportLayer] is an interface for network transport-layer operations. A class that implements these methods, once
- * instantiated, establishes and manages a connection with a remote endpoint defined by an address and a port and allows
- * to send and receive network messages (also called "payloads").
- *
- * The address of the remote endpoint can be an IP address (v4 or v6) or a domain name, in which case it is resolved to
- * an IP address right before initializing the connection. Every constructor should throw an
- * [except.UnresolvableHostException] if the remote address is formatted as an actual domain name, but it cannot be
- * resolved (e.g. it doesn't exist, or it contains forbidden characters).
- *
- * Depending on the specific given implementation, the constructor of this class might throw other exceptions (e.g. the
- * [java.net.Socket] constructor in [TransportLayerJavaNet]).
- */
-interface TransportLayer : Closeable {
- /**
- * Close the connection.
- */
- abstract override fun close()
-
- /**
- * Transmit a payload.
- *
- * @throws java.io.IOException if the message could not be correctly transmitted.
- */
- fun transmit(payload: Iterable<UByte>)
-/*
- /**
- * Receive a payload until a byte occurs, which marks the end of the message. The byte is discarded after being read
- * and is not returned.
- *
- * If you know both which byte marks the end of the message and the message length, it is advised to use
- * [receiveFixed] instead, which is usually more efficient.
- *
- * @param untilByte The byte that marks the end of the message.
- * @return the received payload.
- * @throws java.io.IOException if the message could not be correctly received.
- */
- abstract fun receiveUntil(untilByte: UByte): Array<UByte>
-*/
- /**
- * Receive a payload with fixed length. If zero, nothing is read.
- *
- * @param length The length of the message in bytes.
- * @return the received payload.
- * @throws java.io.IOException if the message could not be correctly received.
- */
- fun receive(length: ULong): Array<UByte>
-
- /**
- * Gives the caller a "receiver" (i.e. an instance of Iterable) from which raw data of any length can be read.
- *
- * @return The receiver.
- */
- fun receiver(): Iterable<UByte>
-} \ No newline at end of file