diff --git a/modules/telestion-services/src/main/java/de/wuespace/telestion/services/connection/Broadcaster.java b/modules/telestion-services/src/main/java/de/wuespace/telestion/services/connection/Broadcaster.java
new file mode 100644
index 000000000..7fbf4eb11
--- /dev/null
+++ b/modules/telestion-services/src/main/java/de/wuespace/telestion/services/connection/Broadcaster.java
@@ -0,0 +1,84 @@
+package de.wuespace.telestion.services.connection;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import de.wuespace.telestion.api.config.Config;
+import de.wuespace.telestion.api.message.JsonMessage;
+import io.vertx.core.AbstractVerticle;
+import io.vertx.core.Promise;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+public class Broadcaster extends AbstractVerticle {
+
+ public final static int DEFAULT_ID = 0;
+
+ public final record Configuration(@JsonProperty
+ String inAddress,
+ @JsonProperty
+ int id) implements JsonMessage {
+ public Configuration() {
+ this(null, DEFAULT_ID);
+ }
+ }
+
+ @Override
+ public void start(Promise
* Classes from the old connection api.
* The old connection api contains the following network interfaces:
- *
- *
*
* Disclaimer:
+ * This module contains the connection api.
+ * The general concept of the connection api is to allow verticles to implement networking code without knowing the
+ * specifics of the interface itself. This is achieved by the following concepts:
+ *
+ * {@link de.wuespace.telestion.services.connection.ConnectionData} or
+ * {@link de.wuespace.telestion.services.connection.SenderData} sent to this class will be rerouted to the
+ * designated network interface or their dispatchers. If a connection is not, yet, established the default
+ * behaviour is to try to create a new connection to the target.
+ *
+ *
+ * Note:
+ * If this interface is used all incoming {@link de.wuespace.telestion.services.connection.ConnectionData packages}
+ * will be routed to its output address.
+ * In cases where the receiver is already known at start-up, the
+ * {@link de.wuespace.telestion.services.connection.StaticSender} which can be fed with
+ * {@link de.wuespace.telestion.services.connection.RawMessage RawMessages} which do not require network interface
+ * information.
+ * There are more complex concepts than the previously described ones. This allows for more advanced or network
+ * specific structures.
+ *
+ * There are cases when one needs to know when a new connection has been established. In this case the XXXX will
+ * yield the {@link de.wuespace.telestion.services.connection.ConnectionDetails} specifying the connection.
+ *
+ * To send information to all active network interfaces (which support broadcasting), a
+ * {@link de.wuespace.telestion.services.connection.Broadcaster} verticle needs to be added.
+ *
+ * In rare cases where the previously described abstractions cannot be applied,
+ * there is still the possibility to use the network interfaces
+ * directly. For this refer to the package descriptions of the designated packages.
+ *
* Classes within this package are all marked as deprecated and will be removed soon.
diff --git a/modules/telestion-services/src/main/java/de/wuespace/telestion/services/connection/package-info.java b/modules/telestion-services/src/main/java/de/wuespace/telestion/services/connection/package-info.java
new file mode 100644
index 000000000..ee5725e00
--- /dev/null
+++ b/modules/telestion-services/src/main/java/de/wuespace/telestion/services/connection/package-info.java
@@ -0,0 +1,91 @@
+/**
+ * Connection API
+ *
+ * Short description:
+ *
+ * It provides a simplified interface for the most commonly used network interfaces in ground-stations and is
+ * optimized for the VertX framework.
+ * Supported network interfaces:
+ *
+ *
+ *
+ * General Concepts:
+ *
+ *
+ *
+ * {@link de.wuespace.telestion.services.connection.Sender Sender-Api}:
+ *
+ * This can fail and the package can be dropped if the targeted network interface controller does not support
+ * informing about failed packet delivery!
+ *
+ * {@link de.wuespace.telestion.services.connection.Receiver Receiver-Api}:
+ *
+ * This allows parsers to listen on multiple network connections at once. Answers then can be sent to the
+ * Sender-Api again.
+ * {@link de.wuespace.telestion.services.connection.StaticSender Static-Sending}:
+ *
+ * The static sender will automatically send the packages to the connection specified in its config.
+ * Special Concepts:
+ * Connection established:
+ * {@link de.wuespace.telestion.services.connection.Broadcaster Broadcasting}:
+ * Manual Mode:
+ *