]> git.ozlabs.org Git - ccan/blobdiff - ccan/io/backend.h
io: allow overriding poll function.
[ccan] / ccan / io / backend.h
index aace0f2bad38d96a6835da31a2a2edf9f020ea6a..c8ceb4e864397c5e54c54fe20c3ceddaae2c9e20 100644 (file)
@@ -2,7 +2,6 @@
 #ifndef CCAN_IO_BACKEND_H
 #define CCAN_IO_BACKEND_H
 #include <stdbool.h>
-#include <poll.h>
 #include "io_plan.h"
 #include <ccan/list/list.h>
 
@@ -31,9 +30,7 @@ enum io_plan_status {
        /* Waiting for io_wake */
        IO_WAITING,
        /* Always do this. */
-       IO_ALWAYS,
-       /* Closing (both plans will be the same). */
-       IO_CLOSING
+       IO_ALWAYS
 };
 
 /**
@@ -60,8 +57,8 @@ struct io_plan {
 struct io_conn {
        struct fd fd;
 
-       /* always and closing lists. */
-       struct list_node always, closing;
+       /* always list. */
+       struct list_node always;
 
        void (*finish)(struct io_conn *, void *arg);
        void *finish_arg;
@@ -75,14 +72,13 @@ bool add_listener(struct io_listener *l);
 bool add_conn(struct io_conn *c);
 bool add_duplex(struct io_conn *c);
 void del_listener(struct io_listener *l);
-void backend_new_closing(struct io_conn *conn);
+void cleanup_conn_without_close(struct io_conn *c);
 void backend_new_always(struct io_conn *conn);
 void backend_new_plan(struct io_conn *conn);
 void remove_from_always(struct io_conn *conn);
 void backend_plan_done(struct io_conn *conn);
 
 void backend_wake(const void *wait);
-void backend_del_conn(struct io_conn *conn);
 
 void io_ready(struct io_conn *conn, int pollflags);
 void io_do_always(struct io_conn *conn);