X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=write.h;h=e6e0a762f7e56819b37cd5bbbeb0b65347cbcea6;hb=3c5c2ebfc2d651f2f77d0df89cbb58a2068bcad0;hp=5f8ab3ab142eff3cbd89189ede339fd4ef413b40;hpb=3e4e5c000805b8bebf431d6e0431940fa17886ad;p=paraslash.git diff --git a/write.h b/write.h index 5f8ab3ab..e6e0a762 100644 --- a/write.h +++ b/write.h @@ -31,6 +31,8 @@ struct writer_node { void *private_data; /** send that many bytes in one go */ int chunk_bytes; + struct task task; + struct writer_node_group *wng; }; /** describes one supported writer */ @@ -62,6 +64,8 @@ int (*open)(struct writer_node *); * */ int (*write)(char *data, size_t nbytes, struct writer_node *); +void (*pre_select)(struct sched *s, struct task *t); +void (*post_select)(struct sched *s, struct task *t); /** * close one instance of the writer * @@ -90,7 +94,10 @@ int *written; /** the maximum of the chunk_bytes values of the writer nodes in this group */ size_t max_chunk_bytes; /** non-zero if end of file was encountered */ -int eof; +int *eof; +char *buf; +size_t *loaded; +struct task task; }; /** loop over each writer node in a writer group */