Browse Source

gossip: Pass broadcast_state to gossip_store

We'll be sourcing messages from this `broadcast_state` when rewriting the
`gossip_store`.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
ppa-0.6.1
Christian Decker 7 years ago
parent
commit
552ddb8dfd
  1. 8
      gossipd/gossip_store.c
  2. 3
      gossipd/gossip_store.h
  3. 2
      gossipd/routing.c

8
gossipd/gossip_store.c

@ -18,6 +18,10 @@ static u8 gossip_store_version = 0x02;
struct gossip_store {
int fd;
u8 version;
/* The broadcast struct we source messages from when rewriting the
* gossip_store */
struct broadcast_state *broadcast;
};
static void gossip_store_destroy(struct gossip_store *gs)
@ -25,10 +29,12 @@ static void gossip_store_destroy(struct gossip_store *gs)
close(gs->fd);
}
struct gossip_store *gossip_store_new(const tal_t *ctx)
struct gossip_store *gossip_store_new(const tal_t *ctx,
struct broadcast_state *broadcast)
{
struct gossip_store *gs = tal(ctx, struct gossip_store);
gs->fd = open(GOSSIP_STORE_FILENAME, O_RDWR|O_APPEND|O_CREAT, 0600);
gs->broadcast = broadcast;
tal_add_destructor(gs, gossip_store_destroy);

3
gossipd/gossip_store.h

@ -14,7 +14,8 @@
struct gossip_store;
struct routing_state;
struct gossip_store *gossip_store_new(const tal_t *ctx);
struct gossip_store *gossip_store_new(const tal_t *ctx,
struct broadcast_state *broadcast);
/**
* Load the initial gossip store, if any.

2
gossipd/routing.c

@ -96,7 +96,7 @@ struct routing_state *new_routing_state(const tal_t *ctx,
rstate->chain_hash = *chain_hash;
rstate->local_id = *local_id;
rstate->prune_timeout = prune_timeout;
rstate->store = gossip_store_new(rstate);
rstate->store = gossip_store_new(rstate, rstate->broadcasts);
rstate->dev_allow_localhost = dev_allow_localhost;
rstate->local_channel_announced = false;
list_head_init(&rstate->pending_cannouncement);

Loading…
Cancel
Save