core-lightning/gossipd/seeker.h
Rusty Russell 4b13c92802 seeker: use hash table for unknown short_channel_ids.
Instead of a linear array which is fairly inefficient if it turns out
we know nothing at all.

We remove the gossip_missing() call by changing the api to
remove_unknown_scid() to include a flag as to whether the scid turned
out to be real or not.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-10-10 21:48:52 -05:00

23 lines
640 B
C

#ifndef LIGHTNING_GOSSIPD_SEEKER_H
#define LIGHTNING_GOSSIPD_SEEKER_H
#include "config.h"
struct daemon;
struct peer;
struct short_channel_id;
struct seeker *new_seeker(struct daemon *daemon, u32 timestamp);
void query_unknown_channel(struct daemon *daemon,
struct peer *peer,
const struct short_channel_id *id);
void seeker_setup_peer_gossip(struct seeker *seeker, struct peer *peer);
bool remove_unknown_scid(struct seeker *seeker,
const struct short_channel_id *scid,
bool found);
bool add_unknown_scid(struct seeker *seeker,
const struct short_channel_id *scid);
#endif /* LIGHTNING_GOSSIPD_SEEKER_H */