ngx_pool_cleanup_t
¶プールからの割り当てと、ユーザがプールの掃除をセットするためのコールバックハンドラを含む構造。これはngx_pool_cleanup_add()
と一緒に使うためのものです
void (*ngx_pool_cleanup_pt)(void *data) handler
ユーザが設定するクリーナップ ハンドラ コールバック
data
¶割り当てリクエストから割り当てられたデータ
ngx_array_t
¶ngx_array_create()
を使って割り当てられた配列の詳細を含む構造。Since a continuous block is allocated it should be relative trivial to calculate where a given element in the array is based on size.
elts
¶配列内の要素へのポインタ
nelts
¶配列内に格納された要素の数
nalloc
¶配列内に割り当てられた項目の数
size
¶配列内の各要素のサイズ
pool
¶配列のために使われるプールへのポインタ
ngx_list_t
¶ngx_list_create()
を使って割り当てられたリンクリストの詳細を含む構造。
last
¶リスト上の要素の最後のブロックを含んでいるリストの部分へのポインタ
part
¶リンクリスト内の最初の部分
size
¶リスト上の各要素のサイズ
nalloc
¶リスト上の割り当てられた要素の数
ngx_list_part_t
¶A structure containing the details of a block of elements in a c:type:ngx_list_t linked-list.
elts
¶このブロック上最初の要素へのポインタ
nelts
¶このブロック内に格納された連続する要素の数
next
¶このリストの次の部分へのポインタ
ngx_buf_t
¶pos
¶メモリバッファウィンドウ内の現在の場所
last
¶メモリバッファウィンドウの最後
file_pos
¶ファイルバッファの現在の位置
file_last
¶ファイルバッファの最後
start
¶メモリバッファの最初
end
¶メモリバッファの最後
tag
¶A pointer to tag buffers with
file
¶ファイルバッファのためのファイルポインタ
temporary:1
¶書き込み可能なインメモリバッファ
memory:1
¶読み込みのみのインメモリバッファ
mmap:1
¶読み込みのみの mmap()ed バッファ
recycled:1
¶バッファは解放した後で再利用されます
in_file:1
¶バッファはファイルバッファです
flush:1
¶全てのバッファされたデータがフラッシュされました
last_buf:1
¶データのストリームの中でバッファは最後です
last_in_chain:1
¶バッファチェーンの中でバッファは最後です
temp_file:1
¶バッファは一時ファイルです
ngx_bufs_t
¶必要とされるバッファのチェーンについての詳細を含むための構造。ngx_create_chain_of_bufs()
によって使われます
size
¶チェーン内の各バッファのサイズ
ngx_calloc
(size_t size, ngx_log_t *log)¶各バイトをさらに0
に設定するngx_alloc()
のためのラッパー。
パラメータ: |
|
---|---|
返り値: | 割り当てられたメモリへのポインタ、あるいは失敗時に |
ngx_create_pool
(size_t size, ngx_log_t *log)¶素早く解放および再利用することができる割り当てられたメモリのメモリプールを生成します。
The macro NGX_DEFAULT_POOL_SIZE
is recommended for use in the size variable which amounts to 16KB
パラメータ: |
|
---|---|
返り値: | 新しく生成されたメモリプールへのポインタ、あるいは失敗時に |
ngx_destroy_pool
(ngx_pool_t *pool)¶関連する全ての割り当てを解放し、プールを破棄します。
パラメータ: |
|
---|
ngx_reset_pool
(ngx_pool_t *pool)¶全てのページを空いていると印をつけることでプールを再設定し、さらにその中のどのような大きさの割り当ても解放します。
パラメータ: |
|
---|
ngx_palloc
(ngx_pool_t *pool, size_t size)¶プールからメモリのブロックを割り当てます。
注意
要求されたサイズが NGX_MAX_ALLOC_FROM_POOL
(system page size - 1) より大きい場合、大きな割り当てとして個々に割り当てられ、明示的に ngx_pfree()
を使って解放されるまで解放されないでしょう。プール全体は再設定(ngx_reset_pool()
) あるいは破壊 (ngx_destroy_pool()
) されます。
パラメータ: |
|
---|---|
返り値: | リクエストされたメモリへのポインタ、あるいは失敗時には |
ngx_pnalloc
(ngx_pool_t *pool, size_t size)¶ngx_palloc()
に似ていますが、NGX_ALIGNMENT
と提携したプールからメモリのブロックを割り当てます
パラメータ: |
|
---|---|
返り値: | リクエストされたメモリへのポインタ、あるいは失敗時には |
ngx_pcalloc
(ngx_pool_t *pool, size_t size)¶各バイトを0
にも設定するngx_pcalloc()
のためのラッパー
パラメータ: |
|
---|---|
返り値: | リクエストされたメモリへのポインタ、あるいは失敗時には |
ngx_pfree
(ngx_pool_t *pool, void *p)¶大きな割り当ての解放
パラメータ: |
|
---|---|
返り値: | 成功時には |
ngx_pool_cleanup_add
(ngx_pool_t *p, size_t size)¶ユーザがクリーナップ ハンドラを追加することができる構造を返す ngx_palloc()
のラッパー
パラメータ: |
|
---|---|
返り値: | クリーナップ コールバックとして設定する割り当てと変数を含む構造へのポインタ |
NGINX 配列は少数の要素のためのメモリの連続するブロックを手入れする便利な方法です。特にもし配列のサイズがしばしば変更する必要が無い場合には効果的です。
ngx_array_create
(ngx_pool_t *p, ngx_uint_t n, size_t size)¶メモリプールから配列を生成し、要素のための初期の連続するメモリブロックを割り当てます
パラメータ: |
|
---|---|
返り値: | 新しく生成された配列 |
ngx_array_destroy
(ngx_array_t *a)¶配列を破壊し、プールに割り当てを解放します
パラメータ: |
|
---|
ngx_array_push
(ngx_array_t *a)¶配列上に新しい要素を生成し、この要素へのポインタを返す
注意
this may cause a re-allocation of the array depending on the current state of the pool which in-turn could cause a small performance hit
パラメータ: |
|
---|---|
返り値: | 配列上の新しい要素へのポインタ |
ngx_array_push_n
(ngx_array_t *a, ngx_uint_t n)¶配列上に多くの新しい要素を生成し、それらの要素の最初へのポインタを返す
注意
this may cause a re-allocation of the array depending on the current state of the pool which in-turn could cause a small performance hit
パラメータ: |
|
---|---|
返り値: | 最初の新しい要素へのポインタ |
NGINXでのリンクされたリストは反復することができる成長する要素のリストを維持するために使われます。NGINX はそれらを ‘parts’ と呼ばれるブロックに格納します。それぞれのpartはリスト上の幾つかの要素を含むことができます。
ngx_list_create
(ngx_pool_t *pool, ngx_uint_t n, size_t size)¶メモリプールからリンク リストを作成し、そのリストのための初期メモリブロックを割り当てます
パラメータ: |
|
---|---|
返り値: | 新しく割り当てられたリンク リスト |
ngx_list_push
(ngx_list_t *list)¶メモリプール上のリンクリストに新しい要素を割り当てて追加する
パラメータ: |
|
---|---|
返り値: | リスト上の新しく割り当てられた要素 |
ngx_alloc_buf
(ngx_pool_t *pool)¶メモリプール内にngx_buf_t
構造を生成するマクロ
パラメータ: |
|
---|---|
返り値: | バッファへのポインタ |
ngx_calloc_buf
(ngx_pool_t *pool)¶メモリプール内に綺麗な ngx_buf_t
構造を生成するマクロ
パラメータ: |
|
---|---|
返り値: | バッファへのポインタ |
ngx_create_temp_buf
(ngx_pool_t *pool, size_t size)¶指定されたサイズの一時バッファを生成する
パラメータ: |
|
---|---|
返り値: | 新しく生成された一時バッファ |
ngx_alloc_chain_link
(ngx_pool_t *pool)¶指定されたメモリプールからチェーン内のリンクのためのメモリを割り当てる。これからプール内の他のチェーンへのリンクを自動的に生成するでしょう。
パラメータ: |
|
---|---|
返り値: | 新しいチェーン リンク |
ngx_create_chain_of_bufs
(ngx_pool_t *pool, ngx_bufs_t *bufs)¶リンクのチェーンと、その中にバッファを指定されたメモリプールから割り当てる
パラメータ: |
|
---|---|
返り値: | 新しいチェーン内の最初のリンク |
ngx_chain_get_free_buf
(ngx_pool_t *p, ngx_chain_t **free)¶チェーン内の最初の空いているバッファリンクを見つけ、それを返します。空いているリンクが無い場合、1つを割り当て、それを返します
パラメータ: |
|
---|---|
返り値: | 最初の空いているチェーンリンク |
ngx_free_chain
(ngx_pool_t *pool, ngx_chain_t *cl)¶チェーン内のリンクを解放する
パラメータ: |
|
---|
ngx_chain_add_copy
(ngx_pool_t *pool, ngx_chain_t **chain, ngx_chain_t *in)¶バッファされた内容をコピーすること無しに、1つのチェーンを他のチェーンの最後にコピーする。基本的にリンクを既存のチェーンに追加します。
パラメータ: |
|
---|---|
返り値: | 成功時には |
ngx_chain_update_chains
(ngx_chain_t **free, ngx_chain_t **busy, ngx_chain_t **out, ngx_buf_tag_t tag)¶Moves the buffers from the out
to busy
and processed chains in busy
with tag
to the free
chain.
パラメータ: |
|
---|