core-lightning/common/crypto_sync.h
Rusty Russell db22d2366e crypto_sync: sync_crypto_write_no_delay to flush TCP after critical packets.
Avoid that 200ms loss.  We don't want to disable nagle generally,
since it's great for gossip and other traffic; we just want to push at
critical times.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-08-10 12:46:45 +02:00

20 lines
663 B
C

#ifndef LIGHTNING_COMMON_CRYPTO_SYNC_H
#define LIGHTNING_COMMON_CRYPTO_SYNC_H
#include "config.h"
#include <ccan/short_types/short_types.h>
#include <ccan/tal/tal.h>
struct crypto_state;
/* Exits with peer_failed_connection_lost() if write fails. */
void sync_crypto_write(struct crypto_state *cs, int fd, const void *msg TAKES);
/* Same, but disabled nagle for this message. */
void sync_crypto_write_no_delay(struct crypto_state *cs, int fd,
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);
#endif /* LIGHTNING_COMMON_CRYPTO_SYNC_H */