]> git.meshlink.io Git - meshlink-tiny/blobdiff - src/meshlink_internal.h
Remove support for multiple connections.
[meshlink-tiny] / src / meshlink_internal.h
index 9b506f03dba0eaf7d80ae5a6b3999cfecb3c9f0f..fc4683efeaa4ab857a85ce3da6a4147858321026 100644 (file)
@@ -45,11 +45,7 @@ static const char meshlink_udp_label[] = "MeshLink UDP";
 #define MESHLINK_CONFIG_VERSION 2
 #define MESHLINK_INVITATION_VERSION 2
 
-typedef struct listen_socket_t {
-       struct io_t tcp;
-       sockaddr_t sa;
-       sockaddr_t broadcast_sa;
-} listen_socket_t;
+#define CORE_MESH "."
 
 struct meshlink_open_params {
        char *confbase;
@@ -92,18 +88,14 @@ struct meshlink_handle {
 
        // The most important network-related members come first
        int reachable;
-       int listen_sockets;
-       listen_socket_t listen_socket[MAXSOCKETS];
 
        meshlink_receive_cb_t receive_cb;
        meshlink_queue_t outpacketqueue;
        signal_t datafromapp;
 
-       struct splay_tree_t *nodes;
-
-       struct list_t *connections;
-       struct list_t *outgoings;
-       struct list_t *submeshes;
+       struct node_t *peer;
+       struct connection_t *connection;
+       struct outgoing_t *outgoing;
 
        // Meta-connection-related members
        struct splay_tree_t *past_request_tree;
@@ -169,12 +161,6 @@ struct meshlink_node {
        void *priv;
 };
 
-/// A handle for a node Sub-Mesh.
-struct meshlink_submesh {
-       const char *name;
-       void *priv;
-};
-
 /// An AIO buffer.
 typedef struct meshlink_aio_buffer {
        const void *data;