Index: webrtc/voice_engine/test/channel_transport/udp_socket2_manager_win.h |
diff --git a/webrtc/voice_engine/test/channel_transport/udp_socket2_manager_win.h b/webrtc/voice_engine/test/channel_transport/udp_socket2_manager_win.h |
deleted file mode 100644 |
index ceba9c99e94047abed62f32cd3a67ae570ceb04a..0000000000000000000000000000000000000000 |
--- a/webrtc/voice_engine/test/channel_transport/udp_socket2_manager_win.h |
+++ /dev/null |
@@ -1,162 +0,0 @@ |
-/* |
- * 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. |
- */ |
- |
-#ifndef WEBRTC_VOICE_ENGINE_TEST_CHANNEL_TRANSPORT_UDP_SOCKET2_MANAGER_WINDOWS_H_ |
-#define WEBRTC_VOICE_ENGINE_TEST_CHANNEL_TRANSPORT_UDP_SOCKET2_MANAGER_WINDOWS_H_ |
- |
-#include <winsock2.h> |
-#include <list> |
- |
-#include "webrtc/system_wrappers/include/atomic32.h" |
-#include "webrtc/system_wrappers/include/critical_section_wrapper.h" |
-#include "webrtc/system_wrappers/include/event_wrapper.h" |
-#include "webrtc/base/platform_thread.h" |
-#include "webrtc/voice_engine/test/channel_transport/udp_socket2_win.h" |
-#include "webrtc/voice_engine/test/channel_transport/udp_socket_manager_wrapper.h" |
-#include "webrtc/voice_engine/test/channel_transport/udp_transport.h" |
- |
-#define MAX_IO_BUFF_SIZE 1600 |
- |
-namespace webrtc { |
-namespace test { |
- |
-enum IO_OPERATION { |
- OP_READ, |
- OP_WRITE |
-}; |
- |
-class UdpSocket2Windows; |
- |
-// Struct used for all socket I/O operations. |
-struct PerIoContext { |
- WSAOVERLAPPED overlapped; |
- char buffer[MAX_IO_BUFF_SIZE]; |
- WSABUF wsabuf; |
- size_t nTotalBytes; |
- int nSentBytes; |
- int bytes; |
- IO_OPERATION ioOperation; |
- SocketAddress from; |
- int fromLen; |
- // Should be set to true if the I/O context was passed to the system by |
- // a thread not controlled by the socket implementation. |
- bool ioInitiatedByPlatformThread; |
- // TODO (hellner): Not used. Delete it. |
- PerIoContext* pNextFree; |
-}; |
- |
-struct IoContextPoolItem; |
-struct IoContextPoolItemPayload |
-{ |
- PerIoContext ioContext; |
- IoContextPoolItem* base; |
-}; |
- |
-struct IoContextPoolItem |
-{ |
- // Atomic single linked list entry header. |
- SLIST_ENTRY itemEntry; |
- // Atomic single linked list payload |
- IoContextPoolItemPayload payload; |
-}; |
- |
-class IoContextPool |
-{ |
-public: |
- IoContextPool(); |
- virtual ~IoContextPool(); |
- virtual int32_t Init(uint32_t increaseSize = 128); |
- // Re-use an old unused IO context or create a new one. |
- virtual PerIoContext* PopIoContext(); |
- virtual int32_t PushIoContext(PerIoContext* pIoContext); |
- virtual inline int32_t GetSize(uint32_t* inUse = 0) |
- {return _size.Value();} |
- virtual int32_t Free(); |
-private: |
- // Sample code for use of msfts single linked atomic list can be found here: |
- // http://msdn.microsoft.com/en-us/library/ms686962(VS.85).aspx |
- |
- // Atomic single linked list head. |
- PSLIST_HEADER _pListHead; |
- |
- bool _init; |
- Atomic32 _size; |
- Atomic32 _inUse; |
-}; |
- |
-class UdpSocket2WorkerWindows |
-{ |
-public: |
- UdpSocket2WorkerWindows(HANDLE ioCompletionHandle); |
- virtual ~UdpSocket2WorkerWindows(); |
- |
- virtual bool Start(); |
- virtual bool Stop(); |
- virtual int32_t Init(); |
-protected: |
- static bool Run(void* obj); |
- bool Process(); |
-private: |
- HANDLE _ioCompletionHandle; |
- rtc::PlatformThread _pThread; |
- static int32_t _numOfWorkers; |
- int32_t _workerNumber; |
- volatile bool _stop; |
- bool _init; |
-}; |
- |
-class UdpSocket2ManagerWindows : public UdpSocketManager |
-{ |
-public: |
- UdpSocket2ManagerWindows(); |
- virtual ~UdpSocket2ManagerWindows(); |
- |
- virtual bool Init(int32_t id, uint8_t& numOfWorkThreads); |
- |
- virtual bool Start(); |
- virtual bool Stop(); |
- |
- virtual inline bool AddSocket(UdpSocketWrapper* s) |
- {if(s) return AddSocketPrv(reinterpret_cast<UdpSocket2Windows*>(s)); |
- return false;} |
- virtual bool RemoveSocket(UdpSocketWrapper* s) |
- {if(s) return RemoveSocketPrv(reinterpret_cast<UdpSocket2Windows*>(s)); |
- return false;} |
- |
- PerIoContext* PopIoContext(void); |
- int32_t PushIoContext(PerIoContext* pIoContext); |
- |
-private: |
- typedef std::list<UdpSocket2WorkerWindows*> WorkerList; |
- bool StopWorkerThreads(); |
- bool StartWorkerThreads(); |
- bool AddSocketPrv(UdpSocket2Windows* s); |
- bool RemoveSocketPrv(UdpSocket2Windows* s); |
- |
- static uint32_t _numOfActiveManagers; |
- static bool _wsaInit; |
- |
- int32_t _id; |
- CriticalSectionWrapper* _pCrit; |
- int32_t _managerNumber; |
- volatile bool _stopped; |
- bool _init; |
- int32_t _numActiveSockets; |
- WorkerList _workerThreadsList; |
- EventWrapper* _event; |
- |
- HANDLE _ioCompletionHandle; |
- IoContextPool _ioContextPool; |
-}; |
- |
-} // namespace test |
-} // namespace webrtc |
- |
-#endif // WEBRTC_VOICE_ENGINE_TEST_CHANNEL_TRANSPORT_UDP_SOCKET2_MANAGER_WINDOWS_H_ |