common/per_per_state: generalize lightningd/peer_comm Part 1

Encapsulating the peer state was a win for lightningd; not surprisingly,
it's even more of a win for the other daemons, especially as we want
to add a little gossip information.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2019-06-04 03:41:25 +09:30
parent f1b4b14be5
commit 38d2899fbb
45 changed files with 490 additions and 436 deletions

View File

@@ -4,16 +4,16 @@
#include <ccan/short_types/short_types.h>
#include <ccan/tal/tal.h>
struct crypto_state;
struct per_peer_state;
/* Exits with peer_failed_connection_lost() if write fails. */
void sync_crypto_write(struct crypto_state *cs, int fd, const void *msg TAKES);
void sync_crypto_write(struct per_peer_state *pps, const void *msg TAKES);
/* Same, but disabled nagle for this message. */
void sync_crypto_write_no_delay(struct crypto_state *cs, int fd,
void sync_crypto_write_no_delay(struct per_peer_state *pps,
const void *msg TAKES);
/* Exits with peer_failed_connection_lost() if can't read packet. */
u8 *sync_crypto_read(const tal_t *ctx, struct crypto_state *cs, int fd);
u8 *sync_crypto_read(const tal_t *ctx, struct per_peer_state *pps);
#endif /* LIGHTNING_COMMON_CRYPTO_SYNC_H */