src/server/util/io.h

changeset 80
0de4a90979e1
parent 66
74babc0082b7
child 106
b122f34ddc80
--- a/src/server/util/io.h	Wed Jun 26 15:09:54 2013 +0200
+++ b/src/server/util/io.h	Wed Jun 26 17:14:45 2013 +0200
@@ -41,12 +41,16 @@
 typedef ssize_t(*io_writev_f)(IOStream *, struct iovec *, int);
 typedef ssize_t(*io_read_f)(IOStream *, void *, size_t);
 typedef ssize_t(*io_sendfile_f)(IOStream *, sendfiledata *);
+typedef void(*io_close_f)(IOStream *);
+typedef void(*io_finish_f)(IOStream *);
 
 struct io_stream {
     io_write_f    write;
     io_writev_f   writev;
     io_read_f     read;
     io_sendfile_f sendfile;
+    io_close_f    close;
+    io_finish_f   finish;
 };
 
 typedef struct SystemIOStream {
@@ -69,7 +73,8 @@
 ssize_t net_write(SYS_NETFD fd, void *buf, size_t nbytes);
 ssize_t net_printf(SYS_NETFD fd, char *format, ...);
 ssize_t net_sendfile(SYS_NETFD fd, sendfiledata *sfd);
-
+void    net_close(SYS_NETFD fd);
+void    net_finish(SYS_NETFD fd);
 
 /* iovec buffer */
 typedef struct iovec_buf{
@@ -94,6 +99,8 @@
 ssize_t net_stream_writev(NetIOStream *st, struct iovec *iovec, int iovcnt);
 ssize_t net_stream_read(NetIOStream *st, void *buf, size_t nbytes);
 ssize_t net_stream_sendfile(NetIOStream *st, sendfiledata *sfd);
+void    net_stream_close(NetIOStream *st);
+void    net_stream_finish(NetIOStream *st);
 
 /* iovec buffer */
 iovec_buf_t *iovec_buf_create(pool_handle_t *pool);

mercurial