From 128a13107023075a8167bfdfb8ed9d404bd1dccd Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 21 Oct 2014 14:26:10 -0700 Subject: About halfway there in refactoring to support pluggable SocketManager. --- node/UdpSocket.cpp | 107 ----------------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 node/UdpSocket.cpp (limited to 'node/UdpSocket.cpp') diff --git a/node/UdpSocket.cpp b/node/UdpSocket.cpp deleted file mode 100644 index 1f699027..00000000 --- a/node/UdpSocket.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - * ZeroTier One - Global Peer to Peer Ethernet - * Copyright (C) 2011-2014 ZeroTier Networks LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * -- - * - * ZeroTier may be used and distributed under the terms of the GPLv3, which - * are available at: http://www.gnu.org/licenses/gpl-3.0.html - * - * If you would like to embed ZeroTier into a commercial application or - * redistribute it in a modified binary form, please contact ZeroTier Networks - * LLC. Start here: http://www.zerotier.com/ - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "Constants.hpp" -#include "UdpSocket.hpp" -#include "SocketManager.hpp" - -#ifdef __WINDOWS__ -#include -#include -#include -#else -#include -#include -#include -#include -#endif - -// Uncomment to intentionally break UDP in order to test TCP fallback -// This is here so I can commit it to the repo and drive myself insane. -//#define ZT_BREAK_UDP - -namespace ZeroTier { - -UdpSocket::~UdpSocket() -{ -#ifdef __WINDOWS__ - ::closesocket(_sock); -#else - ::close(_sock); -#endif -} - -bool UdpSocket::send(const InetAddress &to,const void *msg,unsigned int msglen) -{ -#ifdef ZT_BREAK_UDP - return true; -#else - if (to.isV6()) { -#ifdef __WINDOWS__ - return ((int)sendto(_sock,(const char *)msg,msglen,0,to.saddr(),to.saddrLen()) == (int)msglen); -#else - return ((int)sendto(_sock,msg,msglen,0,to.saddr(),to.saddrLen()) == (int)msglen); -#endif - } else { -#ifdef __WINDOWS__ - return ((int)sendto(_sock,(const char *)msg,msglen,0,to.saddr(),to.saddrLen()) == (int)msglen); -#else - return ((int)sendto(_sock,msg,msglen,0,to.saddr(),to.saddrLen()) == (int)msglen); -#endif - } -#endif -} - -bool UdpSocket::notifyAvailableForRead(const SharedPtr &self,SocketManager *sm) -{ - Buffer buf; - InetAddress from; - socklen_t salen = from.saddrSpaceLen(); - 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; -} - -bool UdpSocket::notifyAvailableForWrite(const SharedPtr &self,SocketManager *sm) -{ - return true; -} - -} // namespace ZeroTier -- cgit v1.2.3