Index: webrtc/base/socket.h |
diff --git a/webrtc/base/socket.h b/webrtc/base/socket.h |
index 38a51f828eb50f9392a79e460f3f56b23cbb8ba3..19ea7a032ff63a09a5197775e75226f3eeecba50 100644 |
--- a/webrtc/base/socket.h |
+++ b/webrtc/base/socket.h |
@@ -8,190 +8,12 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
-#ifndef WEBRTC_BASE_SOCKET_H__ |
-#define WEBRTC_BASE_SOCKET_H__ |
+#ifndef WEBRTC_BASE_SOCKET_H_ |
+#define WEBRTC_BASE_SOCKET_H_ |
-#include <errno.h> |
-#if defined(WEBRTC_POSIX) |
-#include <sys/types.h> |
-#include <sys/socket.h> |
-#include <arpa/inet.h> |
-#include <netinet/in.h> |
-#define SOCKET_EACCES EACCES |
-#endif |
+// This header is deprecated and is just left here temporarily during |
+// refactoring. See https://bugs.webrtc.org/7634 for more details. |
+#include "webrtc/rtc_base/socket.h" |
-#if defined(WEBRTC_WIN) |
-#include "webrtc/base/win32.h" |
-#endif |
- |
-#include "webrtc/base/basictypes.h" |
-#include "webrtc/base/constructormagic.h" |
-#include "webrtc/base/socketaddress.h" |
- |
-// Rather than converting errors into a private namespace, |
-// Reuse the POSIX socket api errors. Note this depends on |
-// Win32 compatibility. |
- |
-#if defined(WEBRTC_WIN) |
-#undef EWOULDBLOCK // Remove errno.h's definition for each macro below. |
-#define EWOULDBLOCK WSAEWOULDBLOCK |
-#undef EINPROGRESS |
-#define EINPROGRESS WSAEINPROGRESS |
-#undef EALREADY |
-#define EALREADY WSAEALREADY |
-#undef ENOTSOCK |
-#define ENOTSOCK WSAENOTSOCK |
-#undef EDESTADDRREQ |
-#define EDESTADDRREQ WSAEDESTADDRREQ |
-#undef EMSGSIZE |
-#define EMSGSIZE WSAEMSGSIZE |
-#undef EPROTOTYPE |
-#define EPROTOTYPE WSAEPROTOTYPE |
-#undef ENOPROTOOPT |
-#define ENOPROTOOPT WSAENOPROTOOPT |
-#undef EPROTONOSUPPORT |
-#define EPROTONOSUPPORT WSAEPROTONOSUPPORT |
-#undef ESOCKTNOSUPPORT |
-#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT |
-#undef EOPNOTSUPP |
-#define EOPNOTSUPP WSAEOPNOTSUPP |
-#undef EPFNOSUPPORT |
-#define EPFNOSUPPORT WSAEPFNOSUPPORT |
-#undef EAFNOSUPPORT |
-#define EAFNOSUPPORT WSAEAFNOSUPPORT |
-#undef EADDRINUSE |
-#define EADDRINUSE WSAEADDRINUSE |
-#undef EADDRNOTAVAIL |
-#define EADDRNOTAVAIL WSAEADDRNOTAVAIL |
-#undef ENETDOWN |
-#define ENETDOWN WSAENETDOWN |
-#undef ENETUNREACH |
-#define ENETUNREACH WSAENETUNREACH |
-#undef ENETRESET |
-#define ENETRESET WSAENETRESET |
-#undef ECONNABORTED |
-#define ECONNABORTED WSAECONNABORTED |
-#undef ECONNRESET |
-#define ECONNRESET WSAECONNRESET |
-#undef ENOBUFS |
-#define ENOBUFS WSAENOBUFS |
-#undef EISCONN |
-#define EISCONN WSAEISCONN |
-#undef ENOTCONN |
-#define ENOTCONN WSAENOTCONN |
-#undef ESHUTDOWN |
-#define ESHUTDOWN WSAESHUTDOWN |
-#undef ETOOMANYREFS |
-#define ETOOMANYREFS WSAETOOMANYREFS |
-#undef ETIMEDOUT |
-#define ETIMEDOUT WSAETIMEDOUT |
-#undef ECONNREFUSED |
-#define ECONNREFUSED WSAECONNREFUSED |
-#undef ELOOP |
-#define ELOOP WSAELOOP |
-#undef ENAMETOOLONG |
-#define ENAMETOOLONG WSAENAMETOOLONG |
-#undef EHOSTDOWN |
-#define EHOSTDOWN WSAEHOSTDOWN |
-#undef EHOSTUNREACH |
-#define EHOSTUNREACH WSAEHOSTUNREACH |
-#undef ENOTEMPTY |
-#define ENOTEMPTY WSAENOTEMPTY |
-#undef EPROCLIM |
-#define EPROCLIM WSAEPROCLIM |
-#undef EUSERS |
-#define EUSERS WSAEUSERS |
-#undef EDQUOT |
-#define EDQUOT WSAEDQUOT |
-#undef ESTALE |
-#define ESTALE WSAESTALE |
-#undef EREMOTE |
-#define EREMOTE WSAEREMOTE |
-#undef EACCES |
-#define SOCKET_EACCES WSAEACCES |
-#endif // WEBRTC_WIN |
- |
-#if defined(WEBRTC_POSIX) |
-#define INVALID_SOCKET (-1) |
-#define SOCKET_ERROR (-1) |
-#define closesocket(s) close(s) |
-#endif // WEBRTC_POSIX |
- |
-namespace rtc { |
- |
-inline bool IsBlockingError(int e) { |
- return (e == EWOULDBLOCK) || (e == EAGAIN) || (e == EINPROGRESS); |
-} |
- |
-struct SentPacket { |
- SentPacket() : packet_id(-1), send_time_ms(-1) {} |
- SentPacket(int packet_id, int64_t send_time_ms) |
- : packet_id(packet_id), send_time_ms(send_time_ms) {} |
- |
- int packet_id; |
- int64_t send_time_ms; |
-}; |
- |
-// General interface for the socket implementations of various networks. The |
-// methods match those of normal UNIX sockets very closely. |
-class Socket { |
- public: |
- virtual ~Socket() {} |
- |
- // Returns the address to which the socket is bound. If the socket is not |
- // bound, then the any-address is returned. |
- virtual SocketAddress GetLocalAddress() const = 0; |
- |
- // Returns the address to which the socket is connected. If the socket is |
- // not connected, then the any-address is returned. |
- virtual SocketAddress GetRemoteAddress() const = 0; |
- |
- virtual int Bind(const SocketAddress& addr) = 0; |
- virtual int Connect(const SocketAddress& addr) = 0; |
- virtual int Send(const void *pv, size_t cb) = 0; |
- virtual int SendTo(const void *pv, size_t cb, const SocketAddress& addr) = 0; |
- // |timestamp| is in units of microseconds. |
- virtual int Recv(void* pv, size_t cb, int64_t* timestamp) = 0; |
- virtual int RecvFrom(void* pv, |
- size_t cb, |
- SocketAddress* paddr, |
- int64_t* timestamp) = 0; |
- virtual int Listen(int backlog) = 0; |
- virtual Socket *Accept(SocketAddress *paddr) = 0; |
- virtual int Close() = 0; |
- virtual int GetError() const = 0; |
- virtual void SetError(int error) = 0; |
- inline bool IsBlocking() const { return IsBlockingError(GetError()); } |
- |
- enum ConnState { |
- CS_CLOSED, |
- CS_CONNECTING, |
- CS_CONNECTED |
- }; |
- virtual ConnState GetState() const = 0; |
- |
- enum Option { |
- OPT_DONTFRAGMENT, |
- OPT_RCVBUF, // receive buffer size |
- OPT_SNDBUF, // send buffer size |
- OPT_NODELAY, // whether Nagle algorithm is enabled |
- OPT_IPV6_V6ONLY, // Whether the socket is IPv6 only. |
- OPT_DSCP, // DSCP code |
- OPT_RTP_SENDTIME_EXTN_ID, // This is a non-traditional socket option param. |
- // This is specific to libjingle and will be used |
- // if SendTime option is needed at socket level. |
- }; |
- virtual int GetOption(Option opt, int* value) = 0; |
- virtual int SetOption(Option opt, int value) = 0; |
- |
- protected: |
- Socket() {} |
- |
- private: |
- RTC_DISALLOW_COPY_AND_ASSIGN(Socket); |
-}; |
- |
-} // namespace rtc |
- |
-#endif // WEBRTC_BASE_SOCKET_H__ |
+#endif // WEBRTC_BASE_SOCKET_H_ |