libguac 1.5.4
Loading...
Searching...
No Matches
pool.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#ifndef _GUAC_POOL_H
21#define _GUAC_POOL_H
22
30#include "pool-types.h"
31
32#include <pthread.h>
33
34struct guac_pool {
35
42
46 int active;
47
52 int __next_value;
53
57 guac_pool_int* __head;
58
62 guac_pool_int* __tail;
63
67 pthread_mutex_t __lock;
68
69};
70
72
76 int value;
77
82 guac_pool_int* __next;
83
84};
85
95
102
117
130void guac_pool_free_int(guac_pool* pool, int value);
131
132#endif
133
Type definitions related to the guac_pool pool of unique integers.
guac_pool * guac_pool_alloc(int size)
Allocates a new guac_pool having the given minimum size.
void guac_pool_free(guac_pool *pool)
Frees the given guac_pool.
int guac_pool_next_int(guac_pool *pool)
Returns the next available integer from the given guac_pool.
void guac_pool_free_int(guac_pool *pool, int value)
Frees the given integer back into the given guac_pool.
Represents a single integer within a larger pool of integers.
Definition: pool.h:71
int value
The integer value of this pool entry.
Definition: pool.h:76
A pool of integers.
Definition: pool.h:34
int min_size
The minimum number of integers which must have been returned by guac_pool_next_int before previously-...
Definition: pool.h:41
int active
The number of integers currently in use.
Definition: pool.h:46