Accept cookies for analytics, social media, and advertising, or learn more and adjust your preferences. These cookies are on by default for visitors outside the UK and EEA. Privacy Notice.
ngx_pool_cleanup_t
¶プールからの割り当てと、ユーザがプールの掃除をセットするためのコールバックハンドラを含む構造。これはngx_pool_cleanup_add()
と一緒に使うためのものです
void (*ngx_pool_cleanup_pt)(void *data) handler
ユーザが設定するクリーナップ ハンドラ コールバック
data
¶割り当てリクエストから割り当てられたデータ
ngx_array_t
¶ngx_array_create()
を使って割り当てられた配列の詳細を含む構造。連続するブロックが割り当てられるため、配列内の特定の要素がサイズに基づいている場所を計算することは比較的簡単です。
elts
¶配列内の要素へのポインタ
nelts
¶配列内に格納された要素の数
nalloc
¶配列内に割り当てられた項目の数
size
¶配列内の各要素のサイズ
pool
¶配列のために使われるプールへのポインタ
ngx_list_t
¶ngx_list_create()
を使って割り当てられたリンクリストの詳細を含む構造。
last
¶リスト上の要素の最後のブロックを含んでいるリストの部分へのポインタ
part
¶リンクリスト内の最初の部分
size
¶リスト上の各要素のサイズ
nalloc
¶リスト上の割り当てられた要素の数
ngx_list_part_t
¶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)¶素早く解放および再利用することができる割り当てられたメモリのメモリプールを生成します。
マクロ NGX_DEFAULT_POOL_SIZE
は、16KBに達するサイズ変数での使用が推奨されます。
パラメータ: |
|
---|---|
返り値: | 新しく生成されたメモリプールへのポインタ、あるいは失敗時に |
ngx_destroy_pool
(ngx_pool_t *pool)¶関連する全ての割り当てを解放し、プールを破棄します。
パラメータ: |
|
---|
ngx_reset_pool
(ngx_pool_t *pool)¶全てのページを空いていると印をつけることでプールを再設定し、さらにその中のどのような大きさの割り当ても解放します。
パラメータ: |
|
---|
ngx_pnalloc
(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_palloc
(ngx_pool_t *pool, size_t size)¶ngx_pnalloc()
に似ていますが、NGX_ALIGNMENT
と提携したプールからメモリのブロックを割り当てます
パラメータ: |
|
---|---|
返り値: | リクエストされたメモリへのポインタ、あるいは失敗時には |
ngx_pcalloc
(ngx_pool_t *pool, size_t size)¶各バイトを0
にも設定するngx_palloc()
のためのラッパー
パラメータ: |
|
---|---|
返り値: | リクエストされたメモリへのポインタ、あるいは失敗時には |
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)¶配列上に新しい要素を生成し、この要素へのポインタを返します
注意
これによりプールの現在の状態に応じて配列の再割り当てが発生する可能性があり、その結果パフォーマンスが僅かに低下する可能性があります。
パラメータ: |
|
---|---|
返り値: | 配列上の新しい要素へのポインタ |
ngx_array_push_n
(ngx_array_t *a, ngx_uint_t n)¶配列上に多くの新しい要素を生成し、それらの要素の最初へのポインタを返します
注意
これによりプールの現在の状態に応じて配列の再割り当てが発生する可能性があり、その結果パフォーマンスが僅かに低下する可能性があります。
パラメータ: |
|
---|---|
返り値: | 最初の新しい要素へのポインタ |
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)¶バッファをout
から busy
に移動し、tag
を持つbusy
内の処理済みのチェーンをfree
チェーンに移動します。
パラメータ: |
|
---|