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

Unified Diff: webrtc/test/channel_transport/udp_socket_wrapper.cc

Issue 2336123002: Revert of Moved webrtc/test/channel_transport/ into webrtc/voice_engine/test/ (Closed)
Patch Set: Created 4 years, 3 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
Index: webrtc/test/channel_transport/udp_socket_wrapper.cc
diff --git a/webrtc/test/channel_transport/udp_socket_wrapper.cc b/webrtc/test/channel_transport/udp_socket_wrapper.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f4fa3e950b80c9575ddaf7a77c94e4c5db3ca69d
--- /dev/null
+++ b/webrtc/test/channel_transport/udp_socket_wrapper.cc
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include "webrtc/test/channel_transport/udp_socket_wrapper.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "webrtc/system_wrappers/include/event_wrapper.h"
+#include "webrtc/system_wrappers/include/trace.h"
+#include "webrtc/test/channel_transport/udp_socket_manager_wrapper.h"
+
+#if defined(_WIN32)
+ #include "webrtc/test/channel_transport/udp_socket2_win.h"
+#else
+ #include "webrtc/test/channel_transport/udp_socket_posix.h"
+#endif
+
+
+namespace webrtc {
+namespace test {
+
+bool UdpSocketWrapper::_initiated = false;
+
+// Temporary Android hack. The value 1024 is taken from
+// <ndk>/build/platforms/android-1.5/arch-arm/usr/include/linux/posix_types.h
+// TODO (tomasl): can we remove this now?
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 1024
+#endif
+
+UdpSocketWrapper::UdpSocketWrapper()
+ : _wantsIncoming(false),
+ _deleteEvent(NULL)
+{
+}
+
+UdpSocketWrapper::~UdpSocketWrapper()
+{
+ if(_deleteEvent)
+ {
+ _deleteEvent->Set();
+ _deleteEvent = NULL;
+ }
+}
+
+void UdpSocketWrapper::SetEventToNull()
+{
+ if (_deleteEvent)
+ {
+ _deleteEvent = NULL;
+ }
+}
+
+UdpSocketWrapper* UdpSocketWrapper::CreateSocket(const int32_t id,
+ UdpSocketManager* mgr,
+ CallbackObj obj,
+ IncomingSocketCallback cb,
+ bool ipV6Enable,
+ bool disableGQOS)
+
+{
+ WEBRTC_TRACE(kTraceMemory, kTraceTransport, id,
+ "UdpSocketWrapper::CreateSocket");
+
+ UdpSocketWrapper* s = 0;
+
+#ifdef _WIN32
+ if (!_initiated)
+ {
+ WSADATA wsaData;
+ WORD wVersionRequested = MAKEWORD( 2, 2 );
+ int32_t err = WSAStartup( wVersionRequested, &wsaData);
+ if (err != 0)
+ {
+ WEBRTC_TRACE(
+ kTraceError,
+ kTraceTransport,
+ id,
+ "UdpSocketWrapper::CreateSocket failed to initialize sockets\
+ WSAStartup error:%d",
+ err);
+ return NULL;
+ }
+
+ _initiated = true;
+ }
+
+ s = new UdpSocket2Windows(id, mgr, ipV6Enable, disableGQOS);
+
+#else
+ if (!_initiated)
+ {
+ _initiated = true;
+ }
+ s = new UdpSocketPosix(id, mgr, ipV6Enable);
+ if (s)
+ {
+ UdpSocketPosix* sl = static_cast<UdpSocketPosix*>(s);
+ if (sl->GetFd() != INVALID_SOCKET && sl->GetFd() < FD_SETSIZE)
+ {
+ // ok
+ } else
+ {
+ WEBRTC_TRACE(
+ kTraceError,
+ kTraceTransport,
+ id,
+ "UdpSocketWrapper::CreateSocket failed to initialize socket");
+ delete s;
+ s = NULL;
+ }
+ }
+#endif
+ if (s)
+ {
+ s->_deleteEvent = NULL;
+ if (!s->SetCallback(obj, cb))
+ {
+ WEBRTC_TRACE(
+ kTraceError,
+ kTraceTransport,
+ id,
+ "UdpSocketWrapper::CreateSocket failed to ser callback");
+ return(NULL);
+ }
+ }
+ return s;
+}
+
+bool UdpSocketWrapper::StartReceiving()
+{
+ _wantsIncoming = true;
+ return true;
+}
+
+bool UdpSocketWrapper::StartReceiving(const uint32_t /*receiveBuffers*/) {
+ return StartReceiving();
+}
+
+bool UdpSocketWrapper::StopReceiving()
+{
+ _wantsIncoming = false;
+ return true;
+}
+
+int32_t UdpSocketWrapper::SetPCP(const int32_t /*pcp*/) { return -1; }
+
+uint32_t UdpSocketWrapper::ReceiveBuffers() { return 0; }
+
+} // namespace test
+} // namespace webrtc
« no previous file with comments | « webrtc/test/channel_transport/udp_socket_wrapper.h ('k') | webrtc/test/channel_transport/udp_socket_wrapper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698