From daaec84c6be11b57572ff57c97efd993385890fd Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 26 Mar 2014 15:35:15 -0700 Subject: Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead. --- node/UdpSocket.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'node/UdpSocket.cpp') diff --git a/node/UdpSocket.cpp b/node/UdpSocket.cpp index 8fce9588..115298e9 100644 --- a/node/UdpSocket.cpp +++ b/node/UdpSocket.cpp @@ -48,6 +48,9 @@ #include #endif +// Uncomment to intentionally break UDP in order to test TCP fallback +#define ZT_BREAK_UDP + namespace ZeroTier { UdpSocket::~UdpSocket() @@ -66,6 +69,9 @@ bool UdpSocket::send(const InetAddress &to,const void *msg,unsigned int msglen) bool UdpSocket::sendWithHopLimit(const InetAddress &to,const void *msg,unsigned int msglen,int hopLimit) { +#ifdef ZT_BREAK_UDP + return true; +#else if (hopLimit <= 0) hopLimit = 255; if (to.isV6()) { @@ -87,6 +93,7 @@ bool UdpSocket::sendWithHopLimit(const InetAddress &to,const void *msg,unsigned return ((int)sendto(_sock,msg,msglen,0,to.saddr(),to.saddrLen()) == (int)msglen); #endif } +#endif } bool UdpSocket::notifyAvailableForRead(const SharedPtr &self,SocketManager *sm) @@ -97,7 +104,9 @@ bool UdpSocket::notifyAvailableForRead(const SharedPtr &self,SocketManag int n = (int)recvfrom(_sock,(char *)(buf.data()),ZT_SOCKET_MAX_MESSAGE_LEN,0,from.saddr(),&salen); if (n > 0) { buf.setSize((unsigned int)n); +#ifndef ZT_BREAK_UDP sm->handleReceivedPacket(self,from,buf); +#endif } return true; } -- cgit v1.2.3