Lines Matching defs:best
30 lws_dsh_obj_t *best;
115 (!s->best || obj->asize < s->best->asize)) {
116 s->best = obj;
166 s.best = NULL;
173 if (!s.best) {
180 assert(!(((unsigned long)s.best) & (sizeof(int *) - 1)));
182 if (s.best->asize < asize + (2 * sizeof(*s.best))) {
190 lws_dll2_remove(&s.best->list);
191 s.best->dsh = s.dsh;
192 s.best->kind = kind;
193 s.best->size = size1 + size2;
194 memcpy(&s.best[1], src1, size1);
196 memcpy((uint8_t *)&s.best[1] + size1, src2, size2);
199 s.best->list.prev = replace->prev;
200 s.best->list.next = replace->next;
201 s.best->list.owner = replace->owner;
203 replace->prev->next = &s.best->list;
205 replace->next->prev = &s.best->list;
208 assert(!(((unsigned long)(intptr_t)(s.best)) & (sizeof(int *) - 1)));
209 lws_dll2_add_tail(&s.best->list, &dsh->oha[kind].owner);
212 assert(s.dsh->locally_free >= s.best->asize);
213 s.dsh->locally_free -= s.best->asize;
214 s.dsh->locally_in_use += s.best->asize;
215 dsh->oha[kind].total_size += s.best->asize;
228 __func__, s.best->asize, s.best->asize - asize);
230 s.best->asize -= asize;
234 obj = (lws_dsh_obj_t *)(((uint8_t *)s.best) + lws_dsh_align(s.best->asize));
247 s.best->list.prev = replace->prev;
248 s.best->list.next = replace->next;
249 s.best->list.owner = replace->owner;
251 replace->prev->next = &s.best->list;
253 replace->next->prev = &s.best->list;