]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink_internal.h
Add a poll callback to channels.
[meshlink] / src / meshlink_internal.h
index 517dc1e01cb8dbee31824f040f7c0a6140015f9e..e36fd95f38b0a5f41d67b2444ff739ca55cbe4e7 100644 (file)
@@ -54,18 +54,13 @@ typedef enum proxytype_t {
        PROXY_EXEC,
 } proxytype_t;
 
-typedef struct outpacketqueue {
-       meshlink_node_t *destination;
-       const void *data;
-       unsigned int len;
-} outpacketqueue_t;
-
 /// A handle for an instance of MeshLink.
 struct meshlink_handle {
        char *name;
+       void *priv;
+
        char *appname;
        dev_class_t devclass;
-       void *priv;
 
        char *confbase;
 
@@ -152,9 +147,12 @@ struct meshlink_node {
 
 /// A channel.
 struct meshlink_channel {
-       struct utcp_connection *c;
        struct node_t *node;
+       void *priv;
+
+       struct utcp_connection *c;
        meshlink_channel_receive_cb_t receive_cb;
+       meshlink_channel_poll_cb_t poll_cb;
 };
 
 /// Header for data packets routed between nodes
@@ -164,6 +162,7 @@ typedef struct meshlink_packethdr {
 } __attribute__ ((__packed__)) meshlink_packethdr_t;
 
 extern void meshlink_send_from_queue(event_loop_t* el,meshlink_handle_t *mesh);
+extern void update_node_status(meshlink_handle_t *mesh, struct node_t *n);
 extern meshlink_log_level_t global_log_level;
 extern meshlink_log_cb_t global_log_cb;