nxt_buf.h (1008:84f2370bd642) nxt_buf.h (1267:74acbd89400a)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_BUF_H_INCLUDED_
8#define _NXT_BUF_H_INCLUDED_

--- 63 unchanged lines hidden (view full) ---

72 /*
73 * The next link, flags, and nxt_buf_mem_t should
74 * reside together to improve cache locality.
75 */
76 nxt_buf_t *next;
77
78 uint32_t retain;
79
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_BUF_H_INCLUDED_
8#define _NXT_BUF_H_INCLUDED_

--- 63 unchanged lines hidden (view full) ---

72 /*
73 * The next link, flags, and nxt_buf_mem_t should
74 * reside together to improve cache locality.
75 */
76 nxt_buf_t *next;
77
78 uint32_t retain;
79
80 uint8_t is_file; /* 1 bit */
80 uint8_t cache_hint;
81
81
82 uint16_t is_mmap:1;
83 uint16_t is_port_mmap:1;
82 uint8_t is_file:1;
83 uint8_t is_mmap:1;
84 uint8_t is_port_mmap:1;
85 uint8_t is_sync:1;
86 uint8_t is_nobuf:1;
87 uint8_t is_flush:1;
88 uint8_t is_last:1;
89 uint8_t is_port_mmap_sent:1;
90 uint8_t is_ts:1;
84
91
85 uint16_t is_sync:1;
86 uint16_t is_nobuf:1;
87 uint16_t is_flush:1;
88 uint16_t is_last:1;
89 uint16_t is_port_mmap_sent:1;
90 uint16_t is_ts:1;
91
92 nxt_buf_mem_t mem;
93
94 /* The file and mmap parts are not allocated by nxt_buf_mem_alloc(). */
95 nxt_file_t *file;
96 nxt_off_t file_pos;
97 nxt_off_t file_end;
98
99 /* The mmap part is not allocated by nxt_buf_file_alloc(). */

--- 145 unchanged lines hidden (view full) ---

245 size_t size);
246NXT_EXPORT nxt_buf_t *nxt_buf_file_alloc(nxt_mp_t *mp, size_t size,
247 nxt_uint_t flags);
248NXT_EXPORT nxt_buf_t *nxt_buf_mmap_alloc(nxt_mp_t *mp, size_t size);
249NXT_EXPORT nxt_buf_t *nxt_buf_sync_alloc(nxt_mp_t *mp, nxt_uint_t flags);
250
251NXT_EXPORT nxt_int_t nxt_buf_ts_handle(nxt_task_t *task, void *obj, void *data);
252
92 nxt_buf_mem_t mem;
93
94 /* The file and mmap parts are not allocated by nxt_buf_mem_alloc(). */
95 nxt_file_t *file;
96 nxt_off_t file_pos;
97 nxt_off_t file_end;
98
99 /* The mmap part is not allocated by nxt_buf_file_alloc(). */

--- 145 unchanged lines hidden (view full) ---

245 size_t size);
246NXT_EXPORT nxt_buf_t *nxt_buf_file_alloc(nxt_mp_t *mp, size_t size,
247 nxt_uint_t flags);
248NXT_EXPORT nxt_buf_t *nxt_buf_mmap_alloc(nxt_mp_t *mp, size_t size);
249NXT_EXPORT nxt_buf_t *nxt_buf_sync_alloc(nxt_mp_t *mp, nxt_uint_t flags);
250
251NXT_EXPORT nxt_int_t nxt_buf_ts_handle(nxt_task_t *task, void *obj, void *data);
252
253NXT_EXPORT void nxt_buf_parent_completion(nxt_task_t *task, nxt_buf_t *parent);
253NXT_EXPORT nxt_buf_t *nxt_buf_make_plain(nxt_mp_t *mp, nxt_buf_t *src,
254 size_t size);
255
256nxt_inline nxt_buf_t *
257nxt_buf_chk_make_plain(nxt_mp_t *mp, nxt_buf_t *src, size_t size)
258{
259 if (nxt_slow_path(src != NULL && src->next != NULL)) {
260 return nxt_buf_make_plain(mp, src, size);

--- 30 unchanged lines hidden ---
254NXT_EXPORT nxt_buf_t *nxt_buf_make_plain(nxt_mp_t *mp, nxt_buf_t *src,
255 size_t size);
256
257nxt_inline nxt_buf_t *
258nxt_buf_chk_make_plain(nxt_mp_t *mp, nxt_buf_t *src, size_t size)
259{
260 if (nxt_slow_path(src != NULL && src->next != NULL)) {
261 return nxt_buf_make_plain(mp, src, size);

--- 30 unchanged lines hidden ---