src/server/safs/service.h

branch
aio
changeset 172
5580517faafc
parent 127
84e206063b64
child 184
a2a15ad6e4b9
--- a/src/server/safs/service.h	Sat Feb 04 16:42:11 2017 +0100
+++ b/src/server/safs/service.h	Sat Feb 18 13:27:25 2017 +0100
@@ -30,11 +30,14 @@
 #define	SERVICE_H
 
 #include "../public/nsapi.h"
+#include "../util/systems.h"
 
 #ifdef	__cplusplus
 extern "C" {
 #endif
 
+#define AIO_BUF_SIZE 16384
+    
 typedef struct HttpRange HttpRange; 
    
 struct HttpRange {
@@ -42,7 +45,27 @@
     off_t end;
     HttpRange *next;
 };
-    
+
+typedef struct AsyncSendRange {
+    Session   *sn;
+    Request   *rq;
+    SYS_FILE  in;
+    SYS_NETFD out;
+    off_t     offset;
+    off_t     length;
+    off_t     pos;
+    char      *header;
+    int       headerlen;
+    size_t    headerpos;
+    Event     *readev;
+    Event     *writeev;
+    aiocb_s   *aio;
+    size_t    wpos;
+    WSBool    read_complete;
+    WSBool    read_inprogress;
+    WSBool    write_inprogress;
+    WSBool    error;
+} AsyncSendRange;
     
 int send_file(pblock *pb, Session *sn, Request *rq);
 

mercurial