Lines Matching refs:pool
159 void Curl_bufcp_init(struct bufc_pool *pool,
164 memset(pool, 0, sizeof(*pool));
165 pool->chunk_size = chunk_size;
166 pool->spare_max = spare_max;
169 static CURLcode bufcp_take(struct bufc_pool *pool,
174 if(pool->spare) {
175 chunk = pool->spare;
176 pool->spare = chunk->next;
177 --pool->spare_count;
183 chunk = calloc(1, sizeof(*chunk) + pool->chunk_size);
188 chunk->dlen = pool->chunk_size;
193 static void bufcp_put(struct bufc_pool *pool,
196 if(pool->spare_count >= pool->spare_max) {
201 chunk->next = pool->spare;
202 pool->spare = chunk;
203 ++pool->spare_count;
207 void Curl_bufcp_free(struct bufc_pool *pool)
209 chunk_list_free(&pool->spare);
210 pool->spare_count = 0;
213 static void bufq_init(struct bufq *q, struct bufc_pool *pool,
221 q->pool = pool;
236 void Curl_bufq_initp(struct bufq *q, struct bufc_pool *pool,
239 bufq_init(q, pool, pool->chunk_size, max_chunks, opts);
322 if(q->pool) {
323 if(bufcp_take(q->pool, &chunk))
347 if(q->pool) {
348 bufcp_put(q->pool, chunk);