Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1246)

Unified Diff: net/third_party/udt/src/api.h

Issue 6708091: Remove UDT. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/third_party/udt/src/Makefile ('k') | net/third_party/udt/src/api.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/third_party/udt/src/api.h
===================================================================
--- net/third_party/udt/src/api.h (revision 78992)
+++ net/third_party/udt/src/api.h (working copy)
@@ -1,261 +0,0 @@
-/*****************************************************************************
-Copyright (c) 2001 - 2010, The Board of Trustees of the University of Illinois.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above
- copyright notice, this list of conditions and the
- following disclaimer.
-
-* Redistributions in binary form must reproduce the
- above copyright notice, this list of conditions
- and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-* Neither the name of the University of Illinois
- nor the names of its contributors may be used to
- endorse or promote products derived from this
- software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*****************************************************************************/
-
-/*****************************************************************************
-written by
- Yunhong Gu, last updated 09/28/2010
-*****************************************************************************/
-
-#ifndef __UDT_API_H__
-#define __UDT_API_H__
-
-
-#include <map>
-#include <vector>
-#include "udt.h"
-#include "packet.h"
-#include "queue.h"
-#include "cache.h"
-#include "epoll.h"
-
-class CUDT;
-
-class CUDTSocket
-{
-public:
- CUDTSocket();
- ~CUDTSocket();
-
- UDTSTATUS m_Status; // current socket state
-
- uint64_t m_TimeStamp; // time when the socket is closed
-
- int m_iIPversion; // IP version
- sockaddr* m_pSelfAddr; // pointer to the local address of the socket
- sockaddr* m_pPeerAddr; // pointer to the peer address of the socket
-
- UDTSOCKET m_SocketID; // socket ID
- UDTSOCKET m_ListenSocket; // ID of the listener socket; 0 means this is an independent socket
-
- UDTSOCKET m_PeerID; // peer socket ID
- int32_t m_iISN; // initial sequence number, used to tell different connection from same IP:port
-
- CUDT* m_pUDT; // pointer to the UDT entity
-
- std::set<UDTSOCKET>* m_pQueuedSockets; // set of connections waiting for accept()
- std::set<UDTSOCKET>* m_pAcceptSockets; // set of accept()ed connections
-
- pthread_cond_t m_AcceptCond; // used to block "accept" call
- pthread_mutex_t m_AcceptLock; // mutex associated to m_AcceptCond
-
- unsigned int m_uiBackLog; // maximum number of connections in queue
-
- int m_iMuxID; // multiplexer ID
-
-private:
- CUDTSocket(const CUDTSocket&);
- CUDTSocket& operator=(const CUDTSocket&);
-};
-
-////////////////////////////////////////////////////////////////////////////////
-
-class CUDTUnited
-{
-friend class CUDT;
-
-public:
- CUDTUnited();
- ~CUDTUnited();
-
-public:
-
- // Functionality:
- // initialize the UDT library.
- // Parameters:
- // None.
- // Returned value:
- // 0 if success, otherwise -1 is returned.
-
- int startup();
-
- // Functionality:
- // release the UDT library.
- // Parameters:
- // None.
- // Returned value:
- // 0 if success, otherwise -1 is returned.
-
- int cleanup();
-
- // Functionality:
- // Create a new UDT socket.
- // Parameters:
- // 0) [in] af: IP version, IPv4 (AF_INET) or IPv6 (AF_INET6).
- // 1) [in] type: socket type, SOCK_STREAM or SOCK_DGRAM
- // Returned value:
- // The new UDT socket ID, or INVALID_SOCK.
-
- UDTSOCKET newSocket(const int& af, const int& type);
-
- // Functionality:
- // Create a new UDT connection.
- // Parameters:
- // 0) [in] listen: the listening UDT socket;
- // 1) [in] peer: peer address.
- // 2) [in/out] hs: handshake information from peer side (in), negotiated value (out);
- // Returned value:
- // If the new connection is successfully created: 1 success, 0 already exist, -1 error.
-
- int newConnection(const UDTSOCKET listen, const sockaddr* peer, CHandShake* hs);
-
- // Functionality:
- // look up the UDT entity according to its ID.
- // Parameters:
- // 0) [in] u: the UDT socket ID.
- // Returned value:
- // Pointer to the UDT entity.
-
- CUDT* lookup(const UDTSOCKET u);
-
- // Functionality:
- // Check the status of the UDT socket.
- // Parameters:
- // 0) [in] u: the UDT socket ID.
- // Returned value:
- // UDT socket status, or NONEXIST if not found.
-
- UDTSTATUS getStatus(const UDTSOCKET u);
-
- // socket APIs
-
- int bind(const UDTSOCKET u, const sockaddr* name, const int& namelen);
- int bind(const UDTSOCKET u, UDPSOCKET udpsock);
- int listen(const UDTSOCKET u, const int& backlog);
- UDTSOCKET accept(const UDTSOCKET listen, sockaddr* addr, int* addrlen);
- int connect(const UDTSOCKET u, const sockaddr* name, const int& namelen);
- int close(const UDTSOCKET u);
- int getpeername(const UDTSOCKET u, sockaddr* name, int* namelen);
- int getsockname(const UDTSOCKET u, sockaddr* name, int* namelen);
- int select(ud_set* readfds, ud_set* writefds, ud_set* exceptfds, const timeval* timeout);
- int selectEx(const std::vector<UDTSOCKET>& fds, std::vector<UDTSOCKET>* readfds, std::vector<UDTSOCKET>* writefds, std::vector<UDTSOCKET>* exceptfds, int64_t msTimeOut);
- int epoll_create();
- int epoll_add_usock(const int eid, const UDTSOCKET u, const int* events = NULL);
- int epoll_add_ssock(const int eid, const SYSSOCKET s, const int* events = NULL);
- int epoll_remove_usock(const int eid, const UDTSOCKET u, const int* events = NULL);
- int epoll_remove_ssock(const int eid, const SYSSOCKET s, const int* events = NULL);
- int epoll_wait(const int eid, std::set<UDTSOCKET>* readfds, std::set<UDTSOCKET>* writefds, int64_t msTimeOut, std::set<SYSSOCKET>* lrfds = NULL, std::set<SYSSOCKET>* lwfds = NULL);
- int epoll_release(const int eid);
-
- // Functionality:
- // record the UDT exception.
- // Parameters:
- // 0) [in] e: pointer to a UDT exception instance.
- // Returned value:
- // None.
-
- void setError(CUDTException* e);
-
- // Functionality:
- // look up the most recent UDT exception.
- // Parameters:
- // None.
- // Returned value:
- // pointer to a UDT exception instance.
-
- CUDTException* getError();
-
-private:
- std::map<UDTSOCKET, CUDTSocket*> m_Sockets; // stores all the socket structures
-
- pthread_mutex_t m_ControlLock; // used to synchronize UDT API
-
- pthread_mutex_t m_IDLock; // used to synchronize ID generation
- UDTSOCKET m_SocketID; // seed to generate a new unique socket ID
-
- std::map<int64_t, std::set<UDTSOCKET> > m_PeerRec;// record sockets from peers to avoid repeated connection request, int64_t = (socker_id << 30) + isn
-
-private:
- pthread_key_t m_TLSError; // thread local error record (last error)
- #ifndef WIN32
- static void TLSDestroy(void* e) {if (NULL != e) delete (CUDTException*)e;}
- #else
- std::map<DWORD, CUDTException*> m_mTLSRecord;
- void checkTLSValue();
- pthread_mutex_t m_TLSLock;
- #endif
-
-private:
- CUDTSocket* locate(const UDTSOCKET u);
- CUDTSocket* locate(const sockaddr* peer, const UDTSOCKET& id, const int32_t& isn);
- void updateMux(CUDTSocket* s, const sockaddr* addr = NULL, const UDPSOCKET* = NULL);
- void updateMux(CUDTSocket* s, const CUDTSocket* ls);
-
-private:
- std::map<int, CMultiplexer> m_mMultiplexer; // UDP multiplexer
- pthread_mutex_t m_MultiplexerLock;
-
-private:
- CCache* m_pCache; // UDT network information cache
-
-private:
- volatile bool m_bClosing;
- pthread_mutex_t m_GCStopLock;
- pthread_cond_t m_GCStopCond;
-
- pthread_mutex_t m_InitLock;
- int m_iInstanceCount; // number of startup() called by application
- bool m_bGCStatus; // if the GC thread is working (true)
-
- pthread_t m_GCThread;
- #ifndef WIN32
- static void* garbageCollect(void*);
- #else
- static DWORD WINAPI garbageCollect(LPVOID);
- #endif
-
- std::map<UDTSOCKET, CUDTSocket*> m_ClosedSockets; // temporarily store closed sockets
-
- void checkBrokenSockets();
- void removeSocket(const UDTSOCKET u);
-
-private:
- CEPoll m_EPoll; // handling epoll data structures and events
-
-private:
- CUDTUnited(const CUDTUnited&);
- CUDTUnited& operator=(const CUDTUnited&);
-};
-
-#endif
« no previous file with comments | « net/third_party/udt/src/Makefile ('k') | net/third_party/udt/src/api.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698