diff -r f48cea237ec3 -r 0de4a90979e1 src/server/util/io.h --- 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);