#ifndef LIGHTNING_PLUGINS_ASKRENE_ASKRENE_H
#define LIGHTNING_PLUGINS_ASKRENE_ASKRENE_H
#include "config.h"
#include <bitcoin/short_channel_id.h>
#include <ccan/bitmap/bitmap.h>
#include <ccan/htable/htable_type.h>
#include <ccan/list/list.h>
#include <common/amount.h>
#include <common/fp16.h>
#include <common/node_id.h>
#include <plugins/libplugin.h>
struct gossmap_chan;
struct askrene {
struct plugin *plugin;
struct gossmap *gossmap;
struct layer_name_hash *layers;
struct reserve_htable *reserved;
fp16_t *capacities;
struct node_id my_id;
struct command *layer_cmd;
u32 route_seconds;
u32 max_children;
size_t num_live_requests;
struct list_head children;
struct list_head waiters;
};
static inline struct askrene *get_askrene(struct plugin *plugin)
{
return plugin_get_data(plugin, struct askrene);
}
#endif