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

Unified Diff: net/third_party/udt/src/epoll.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/core.cpp ('k') | net/third_party/udt/src/epoll.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/third_party/udt/src/epoll.h
===================================================================
--- net/third_party/udt/src/epoll.h (revision 78992)
+++ net/third_party/udt/src/epoll.h (working copy)
@@ -1,199 +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 08/20/2010
-*****************************************************************************/
-
-#ifndef __UDT_EPOLL_H__
-#define __UDT_EPOLL_H__
-
-
-#include <map>
-#include <set>
-#include "udt.h"
-
-
-struct CEPollDesc
-{
- int m_iID; // epoll ID
- std::set<UDTSOCKET> m_sUDTSocks; // set of UDT sockets waiting for events
-
- int m_iLocalID; // local system epoll ID
- std::set<SYSSOCKET> m_sLocals; // set of local (non-UDT) descriptors
-
- std::set<UDTSOCKET> m_sUDTWrites; // UDT sockets ready for write
- std::set<UDTSOCKET> m_sUDTReads; // UDT sockets ready for read
-};
-
-class CEPoll
-{
-friend class CUDT;
-
-public:
- CEPoll();
- ~CEPoll();
-
-public: // for CUDTUnited API
-
- // Functionality:
- // create a new EPoll.
- // Parameters:
- // None.
- // Returned value:
- // new EPoll ID if success, otherwise an error number.
-
- int create();
-
- // Functionality:
- // add a UDT socket to an EPoll.
- // Parameters:
- // 0) [in] eid: EPoll ID.
- // 1) [in] u: UDT Socket ID.
- // 2) [in] events: events to watch.
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int add_usock(const int eid, const UDTSOCKET& u, const int* events = NULL);
-
- // Functionality:
- // add a system socket to an EPoll.
- // Parameters:
- // 0) [in] eid: EPoll ID.
- // 1) [in] s: system Socket ID.
- // 2) [in] events: events to watch.
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int add_ssock(const int eid, const SYSSOCKET& s, const int* events = NULL);
-
- // Functionality:
- // remove a UDT socket event from an EPoll; socket will be removed if no events to watch
- // Parameters:
- // 0) [in] eid: EPoll ID.
- // 1) [in] u: UDT socket ID.
- // 2) [in] events: events to delete.
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int remove_usock(const int eid, const UDTSOCKET& u, const int* events = NULL);
-
- // Functionality:
- // remove a system socket event from an EPoll; socket will be removed if no events to watch
- // Parameters:
- // 0) [in] eid: EPoll ID.
- // 1) [in] s: system socket ID.
- // 2) [in] events: events to delete.
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int remove_ssock(const int eid, const SYSSOCKET& s, const int* events = NULL);
-
- // Functionality:
- // wait for EPoll events or timeout.
- // Parameters:
- // 0) [in] eid: EPoll ID.
- // 1) [out] readfds: UDT sockets available for reading.
- // 2) [out] writefds: UDT sockets available for writing.
- // 3) [in] msTimeOut: timeout threshold, in milliseconds.
- // 4) [out] lrfds: system file descriptors for reading.
- // 5) [out] lwfds: system file descriptors for writing.
- // Returned value:
- // number of sockets available for IO.
-
- int wait(const int eid, std::set<UDTSOCKET>* readfds, std::set<UDTSOCKET>* writefds, int64_t msTimeOut, std::set<SYSSOCKET>* lrfds, std::set<SYSSOCKET>* lwfds);
-
- // Functionality:
- // close and release an EPoll.
- // Parameters:
- // 0) [in] eid: EPoll ID.
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int release(const int eid);
-
-public: // for CUDT to acknowledge IO status
-
- // Functionality:
- // set a UDT socket writable.
- // Parameters:
- // 0) [in] uid: UDT socket ID.
- // 1) [in] eids: EPoll IDs to be set
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int enable_write(const UDTSOCKET& uid, std::set<int>& eids);
-
- // Functionality:
- // set a UDT socket readable.
- // Parameters:
- // 0) [in] uid: UDT socket ID.
- // 1) [in] eids: EPoll IDs to be set
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int enable_read(const UDTSOCKET& uid, std::set<int>& eids);
-
- // Functionality:
- // reset a the writable status of a UDT socket.
- // Parameters:
- // 0) [in] uid: UDT socket ID.
- // 1) [in] eids: EPoll IDs to be set
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int disable_write(const UDTSOCKET& uid, std::set<int>& eids);
-
- // Functionality:
- // reset a the readable status of a UDT socket.
- // Parameters:
- // 0) [in] uid: UDT socket ID.
- // 1) [in] eids: EPoll IDs to be set
- // Returned value:
- // 0 if success, otherwise an error number.
-
- int disable_read(const UDTSOCKET& uid, std::set<int>& eids);
-
-private:
- int m_iIDSeed; // seed to generate a new ID
- pthread_mutex_t m_SeedLock;
-
- std::map<int, CEPollDesc> m_mPolls; // all epolls
- pthread_mutex_t m_EPollLock;
-};
-
-
-#endif
« no previous file with comments | « net/third_party/udt/src/core.cpp ('k') | net/third_party/udt/src/epoll.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698