MCPcopy Create free account
hub / github.com/ElementsProject/lightning / next_free_chan

Function next_free_chan

common/gossmap.c:361–376  ·  view source on GitHub ↗

Freelist links through scid of unused entries. */

Source from the content-addressed store, hash-verified

359
360/* Freelist links through scid of unused entries. */
361static struct gossmap_chan *next_free_chan(struct gossmap *map)
362{
363 size_t f;
364
365 if (map->freed_chans == UINT_MAX) {
366 /* Double in size, add second half to free list */
367 size_t n = tal_count(map->chan_arr);
368 map->num_chan_arr *= 2;
369 tal_resize(&map->chan_arr, n * 2);
370 map->freed_chans = init_chan_arr(map->chan_arr, n);
371 }
372
373 f = map->freed_chans;
374 map->freed_chans = map->chan_arr[f].cann_off;
375 return &map->chan_arr[f];
376}
377
378static struct gossmap_chan *new_channel(struct gossmap *map,
379 u64 cannounce_off,

Callers 1

new_channelFunction · 0.85

Calls 1

init_chan_arrFunction · 0.85

Tested by

no test coverage detected