MCPcopy Create free account
hub / github.com/ElementsProject/lightning / send_ping

Function send_ping

connectd/multiplex.c:787–808  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

785}
786
787static void send_ping(struct peer *peer)
788{
789 /* If it's still sending us traffic, maybe ping reply is backed up?
790 * That's OK, ping is just to make sure it's still alive, and clearly
791 * it is. */
792 if (timemono_before(peer->last_recv_time,
793 timemono_sub(time_mono(), time_from_sec(60)))) {
794 /* Already have a ping in flight? */
795 if (peer->expecting_pong != PONG_UNEXPECTED) {
796 status_peer_debug(&peer->id, "Last ping unreturned: hanging up");
797 if (peer->to_peer)
798 io_close(peer->to_peer);
799 return;
800 }
801
802 inject_peer_msg(peer, take(make_ping(NULL, 1, 0)));
803 peer->ping_start = time_mono();
804 peer->expecting_pong = PONG_EXPECTED_PROBING;
805 }
806
807 set_ping_timer(peer);
808}
809
810void set_custommsgs(struct daemon *daemon, const u8 *msg)
811{

Callers

nothing calls this directly

Calls 8

timemono_beforeFunction · 0.85
timemono_subFunction · 0.85
time_monoFunction · 0.85
time_from_secFunction · 0.85
io_closeFunction · 0.85
make_pingFunction · 0.85
set_ping_timerFunction · 0.85
inject_peer_msgFunction · 0.70

Tested by

no test coverage detected