Documentation of buf struct
Rv Rv
rvrv7575 at yahoo.com
Sun Jun 28 15:12:23 UTC 2015
I am not very clear on the purpose of different data members within the buf structure.(appended below)
After looking through the code, I can figure out the purpose of
- pos,last (sliding window)
- file_pos, file_last, start, end ,(data start and end)
- tag, (which module owns this buf)
- file (name of the file if any associated with the data)
- memory(cannot be released by any module that processes the buf).
- mmap (buf is memory map)
- last_in_chain(last in the chain of bufs)
- last_buf(last in the response)
- For temporary: can the temporary buffer be released by any module that processes it or can it be released by only the module that owns it as indicated in the tag
It will be good if the purpose of other data members is described also. Thanks for any inputs
struct ngx_buf_s { u_char *pos; u_char *last; off_t file_pos; off_t file_last;
u_char *start; /* start of buffer */ u_char *end; /* end of buffer */ ngx_buf_tag_t tag; ngx_file_t *file; ngx_buf_t *shadow;
/* the buf's content could be changed */ unsigned temporary:1;
/* * the buf's content is in a memory cache or in a read only memory * and must not be changed */ unsigned memory:1;
/* the buf's content is mmap()ed and must not be changed */ unsigned mmap:1;
unsigned recycled:1; unsigned in_file:1; unsigned flush:1; unsigned sync:1; unsigned last_buf:1; unsigned last_in_chain:1;
unsigned last_shadow:1; unsigned temp_file:1;
/* STUB */ int num;};
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20150628/83447178/attachment.html>
More information about the nginx
mailing list