From 8a20acfa34e1eedf34254354b8a219bd8fbca2ed Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Wed, 7 Mar 2018 17:06:16 -0800 Subject: fixes #269 nngcat unreliable with ZeroTier transport This does a few things. First it closes a case where a dropped message could prevent subsequent connection attempts from getting through. Second, it changes the rate at which we retry, and the timeout, to be a lot more aggressive when attempting to establish a connection. We retry every 500 ms, for up to 2 minutes, before giving up. This gives a lot more resilience in the face of message loss that is typical of ZeroTier in some environments when first establishing communication. Third, makes the values for the connection attempts *tunable*, so that applications can adjust for different deployment scenarios. Fourth, it includes the ability to get the UDP socket name. This was needed during some debug, and may be useful for a real UDP transport later, so we're keeping it. Finally, we added documentation for the above items. --- src/core/platform.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core/platform.h') diff --git a/src/core/platform.h b/src/core/platform.h index d5fc40f7..5666b0ed 100644 --- a/src/core/platform.h +++ b/src/core/platform.h @@ -371,6 +371,8 @@ extern void nni_plat_pipe_clear(int); // routine. extern void nni_plat_pipe_close(int, int); +extern int nni_plat_udp_sockname(nni_plat_udp *, nni_sockaddr *); + // // File/Store Support // -- cgit v1.2.3-70-g09d2