core-lightning/common
Rusty Russell ab9d9ef3b8 gossipd: drain fd instead of passing around gossip index.
(This was sitting in my gossip-enchancement patch queue, but it simplifies
this set too, so I moved it here).

In 94711969f we added an explicit gossip_index so when gossipd gets
peers back from other daemons, it knows what gossip it has sent (since
gossipd can send gossip after the other daemon is already complete).

This solution is insufficient for the more general case where gossipd
wants to send other messages reliably, so replace it with the other
solution: have gossipd drain the "gossip fd" which the daemon returns.

This turns out to be quite simple, and is probably how I should have
done it originally :(

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-04-26 05:47:57 +00:00
..
test common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bech32_util.c common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bech32_util.h common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bech32.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
bech32.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
bip32.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
bip32.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
bolt11.c common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bolt11.h bolt11: allow multiple fallback addresses. 2018-04-06 14:26:53 +02:00
channel_config.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
channel_config.h Revert "Send/receive cltv_expiry_delta in open/accept channel." 2017-10-11 11:54:50 +02:00
close_tx.c bitcoin: create new wrapper type bitcoin_txid, log backward endianness. 2017-12-21 11:05:38 +00:00
close_tx.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
configdir.c allow --rpc-file option to change default value 2018-02-02 20:35:44 +01:00
configdir.h options: don't leak memory when people override options. 2017-12-13 22:46:10 +01:00
crypto_state.c crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_state.h crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_sync.c common: add logging for peer packets, with status_io. 2018-02-07 00:46:49 +00:00
crypto_sync.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
cryptomsg.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
cryptomsg.h gossipd: fix race where we can handoff peer with bad cryptostate. 2018-02-13 12:10:35 +01:00
daemon_conn.c daemon_conn: simplify msg_queue_cleared_cb. 2018-03-14 02:19:37 +00:00
daemon_conn.h daemon_conn: simplify msg_queue_cleared_cb. 2018-03-14 02:19:37 +00:00
daemon.c bt_print and bt_exit is enclosed in the conditional 2018-04-05 18:17:55 +02:00
daemon.h common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
derive_basepoints.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
derive_basepoints.h basepoints/secrets: add htlc entry 2017-11-16 17:40:57 +01:00
dev_disconnect.c Spelling corrections (#824) 2018-01-29 04:46:54 +00:00
dev_disconnect.h Add DEVELOPER flag, set by default. 2017-10-26 12:53:09 +02:00
features.c features: more general accessor functions. 2018-03-14 02:19:37 +00:00
features.h features: more general accessor functions. 2018-03-14 02:19:37 +00:00
funding_tx.c common: remove unused assert() headers. 2017-10-26 12:53:09 +02:00
funding_tx.h bitcoin: create new wrapper type bitcoin_txid, log backward endianness. 2017-12-21 11:05:38 +00:00
hash_u5.c common/hash_u5: routines to hash 5 bit values. 2017-11-01 01:09:23 +00:00
hash_u5.h common/hash_u5: routines to hash 5 bit values. 2017-11-01 01:09:23 +00:00
htlc_state.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
htlc_state.h Fix a-vs-an typos 2018-02-08 22:49:34 +01:00
htlc_tx.c bitcoin: create new wrapper type bitcoin_txid, log backward endianness. 2017-12-21 11:05:38 +00:00
htlc_tx.h bitcoin: create new wrapper type bitcoin_txid, log backward endianness. 2017-12-21 11:05:38 +00:00
htlc_wire.c tools/generate_wire.py: make varlen structs self-allocate. 2018-02-08 19:07:12 +01:00
htlc_wire.h tools/generate_wire.py: make varlen structs self-allocate. 2018-02-08 19:07:12 +01:00
htlc.h Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
initial_channel.c openingd: ensure that initial channel can cover fees and reserve. 2018-04-05 19:07:23 +02:00
initial_channel.h openingd: ensure that initial channel can cover fees and reserve. 2018-04-05 19:07:23 +02:00
initial_commit_tx.c openingd: ensure that initial channel can cover fees and reserve. 2018-04-05 19:07:23 +02:00
initial_commit_tx.h openingd: ensure that initial channel can cover fees and reserve. 2018-04-05 19:07:23 +02:00
json_escaped.c Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
json_escaped.h Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
json.c jsonrpc: Pretty-print the json results 2018-04-08 08:26:00 +00:00
json.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
key_derive.c basepoints/secrets: add htlc entry 2017-11-16 17:40:57 +01:00
key_derive.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
keyset.c typo 2017-11-23 23:10:08 +01:00
keyset.h basepoints/secrets: add htlc entry 2017-11-16 17:40:57 +01:00
Makefile common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
memleak.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
memleak.h Re-enable builds with DEVELOPER=0 2017-12-20 12:43:10 +01:00
msg_queue.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
msg_queue.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
overflows.h The overflow check mul_overflows_s64(int64_t, int64_t) overflows and triggers UB :-) Remove it 2018-03-27 23:18:48 +00:00
peer_billboard.c common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_billboard.h common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_failed.c gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
peer_failed.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
peer_status_wire.csv gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
permute_tx.c permute_tx: bail on empty permute_{inputs/outputs} arguments 2018-01-15 06:35:02 +00:00
permute_tx.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
ping.c pong: embed version string into ping replies if DEVELOPER=1. 2018-02-22 12:24:26 +01:00
ping.h pong: embed version string into ping replies if DEVELOPER=1. 2018-02-22 12:24:26 +01:00
pseudorand.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
pseudorand.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
read_peer_msg.c gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
read_peer_msg.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
sphinx.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
sphinx.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
status_levels.h status: separate types for peer failure vs "impossible" failures. 2018-02-08 19:07:12 +01:00
status_wire.c status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status_wire.csv subd: handle status_peer_billboard messages from subdaemons. 2018-02-23 18:02:00 +01:00
status_wire.h status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
status.h status: remove trc context now we have tmpctx. 2018-03-16 00:16:10 +00:00
subdaemon.c common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
subdaemon.h common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
timeout.c utils: remove tal_tmpctx altogether, use global. 2018-03-16 00:16:10 +00:00
timeout.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
type_to_string.c Fix order of includes 2018-03-06 19:26:21 +01:00
type_to_string.h type_to_string: support sha256_double. 2018-03-13 16:34:55 +01:00
utils.c memleak: ignore tmpctx. 2018-03-16 00:16:10 +00:00
utils.h utils: remove tal_tmpctx altogether, use global. 2018-03-16 00:16:10 +00:00
utxo.c tools/generate_wire.py: generate varlen arrays properly. 2018-02-08 19:07:12 +01:00
utxo.h cleanup: Make blockheights unsigned 2018-03-27 23:17:17 +00:00
version.c Make version output simpler/more user-friendly 2018-04-04 02:32:44 +00:00
version.h Onboarding: Make log output texts friendlier to new users 2018-01-29 03:22:27 +00:00
wire_error.c Remove duplicate va_end(...) call. va_end(...) is the responsibility of the caller. 2018-03-16 01:17:40 +00:00
wire_error.h Spelling corrections (#824) 2018-01-29 04:46:54 +00:00
wireaddr.c moveonly: Move DNS resolution to wireaddr conversion 2018-04-25 12:34:55 +02:00
wireaddr.h moveonly: Move DNS resolution to wireaddr conversion 2018-04-25 12:34:55 +02:00
withdraw_tx.c travis: reenable check-source (without BOLT text). 2017-12-21 14:33:27 +01:00
withdraw_tx.h Change withdraw_tx to accept scriptpubkey rather than plain address. 2017-12-13 03:10:04 +00:00