Index: webrtc/voice_engine/test/channel_transport/udp_socket2_win.h |
diff --git a/webrtc/voice_engine/test/channel_transport/udp_socket2_win.h b/webrtc/voice_engine/test/channel_transport/udp_socket2_win.h |
deleted file mode 100644 |
index dd1aed80b835955cb75f68aea3d7687bc0769507..0000000000000000000000000000000000000000 |
--- a/webrtc/voice_engine/test/channel_transport/udp_socket2_win.h |
+++ /dev/null |
@@ -1,174 +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_WINDOWS_H_ |
-#define WEBRTC_VOICE_ENGINE_TEST_CHANNEL_TRANSPORT_UDP_SOCKET2_WINDOWS_H_ |
- |
-// Disable deprication warning from traffic.h |
-#pragma warning(disable : 4995) |
- |
-// Don't change include order for these header files. |
-#include <Winsock2.h> |
-#include <Ntddndis.h> |
-#include <traffic.h> |
- |
-#include "webrtc/base/event.h" |
-#include "webrtc/system_wrappers/include/atomic32.h" |
-#include "webrtc/system_wrappers/include/event_wrapper.h" |
-#include "webrtc/system_wrappers/include/rw_lock_wrapper.h" |
-#include "webrtc/system_wrappers/include/trace.h" |
-#include "webrtc/voice_engine/test/channel_transport/udp_socket2_manager_win.h" |
-#include "webrtc/voice_engine/test/channel_transport/udp_socket_wrapper.h" |
- |
-namespace webrtc { |
-namespace test { |
- |
-class UdpSocket2ManagerWindows; |
-class TrafficControlWindows; |
-struct PerIoContext; |
- |
-class UdpSocket2Windows : public UdpSocketWrapper |
-{ |
-public: |
- UdpSocket2Windows(const int32_t id, UdpSocketManager* mgr, |
- bool ipV6Enable = false, bool disableGQOS = false); |
- virtual ~UdpSocket2Windows(); |
- |
- bool ValidHandle() override; |
- |
- bool SetCallback(CallbackObj, IncomingSocketCallback) override; |
- |
- bool Bind(const SocketAddress& name) override; |
- bool SetSockopt(int32_t level, |
- int32_t optname, |
- const int8_t* optval, |
- int32_t optlen) override; |
- |
- bool StartReceiving(const uint32_t receiveBuffers) override; |
- inline bool StartReceiving() override { return StartReceiving(8); } |
- bool StopReceiving() override; |
- |
- int32_t SendTo(const int8_t* buf, |
- size_t len, |
- const SocketAddress& to) override; |
- |
- void CloseBlocking() override; |
- |
- SOCKET GetFd() { return _socket;} |
- |
- bool SetQos(int32_t serviceType, |
- int32_t tokenRate, |
- int32_t bucketSize, |
- int32_t peekBandwith, |
- int32_t minPolicedSize, |
- int32_t maxSduSize, |
- const SocketAddress& stRemName, |
- int32_t overrideDSCP = 0) override; |
- |
- int32_t SetTOS(const int32_t serviceType) override; |
- int32_t SetPCP(const int32_t pcp) override; |
- |
- uint32_t ReceiveBuffers() override { return _receiveBuffers.Value(); } |
- |
-protected: |
- void IOCompleted(PerIoContext* pIOContext, uint32_t ioSize, uint32_t error); |
- |
- int32_t PostRecv(); |
- // Use pIoContext to post a new WSARecvFrom(..). |
- int32_t PostRecv(PerIoContext* pIoContext); |
- |
-private: |
- friend class UdpSocket2WorkerWindows; |
- |
- // Set traffic control (TC) flow adding it the interface that matches this |
- // sockets address. |
- // A filter is created and added to the flow. |
- // The flow consists of: |
- // (1) QoS send and receive information (flow specifications). |
- // (2) A DS object (for specifying exact DSCP value). |
- // (3) Possibly a traffic object (for specifying exact 802.1p priority (PCP) |
- // value). |
- // |
- // dscp values: |
- // -1 don't change the current dscp value. |
- // 0 don't add any flow to TC, unless pcp is specified. |
- // 1-63 Add a flow to TC with the specified dscp value. |
- // pcp values: |
- // -2 Don't add pcp info to the flow, (3) will not be added. |
- // -1 Don't change the current value. |
- // 0-7 Add pcp info to the flow with the specified value, |
- // (3) will be added. |
- // |
- // If both dscp and pcp are -1 no flow will be created or added to TC. |
- // If dscp is 0 and pcp is 0-7 (1), (2) and (3) will be created. |
- // Note: input parameter values are assumed to be in valid range, checks |
- // must be done by caller. |
- int32_t SetTrafficControl(int32_t dscp, int32_t pcp, |
- const struct sockaddr_in* name, |
- FLOWSPEC* send = NULL, |
- FLOWSPEC* recv = NULL); |
- int32_t CreateFlowSpec(int32_t serviceType, |
- int32_t tokenRate, |
- int32_t bucketSize, |
- int32_t peekBandwith, |
- int32_t minPolicedSize, |
- int32_t maxSduSize, FLOWSPEC *f); |
- |
- int32_t _id; |
- RWLockWrapper* _ptrCbRWLock; |
- IncomingSocketCallback _incomingCb; |
- CallbackObj _obj; |
- bool _qos; |
- |
- SocketAddress _remoteAddr; |
- SOCKET _socket; |
- int32_t _iProtocol; |
- UdpSocket2ManagerWindows* _mgr; |
- |
- Atomic32 _outstandingCalls; |
- Atomic32 _outstandingCallComplete; |
- volatile bool _terminate; |
- volatile bool _addedToMgr; |
- |
- rtc::Event delete_event_; |
- |
- RWLockWrapper* _ptrDestRWLock; |
- bool _outstandingCallsDisabled; |
- bool NewOutstandingCall(); |
- void OutstandingCallCompleted(); |
- void DisableNewOutstandingCalls(); |
- |
- void RemoveSocketFromManager(); |
- |
- // RWLockWrapper is used as a reference counter for the socket. Write lock |
- // is used for creating and deleting socket. Read lock is used for |
- // accessing the socket. |
- RWLockWrapper* _ptrSocketRWLock; |
- bool AquireSocket(); |
- void ReleaseSocket(); |
- bool InvalidateSocket(); |
- |
- // Traffic control handles and structure pointers. |
- HANDLE _clientHandle; |
- HANDLE _flowHandle; |
- HANDLE _filterHandle; |
- PTC_GEN_FLOW _flow; |
- // TrafficControlWindows implements TOS and PCP. |
- TrafficControlWindows* _gtc; |
- // Holds the current pcp value. Can be -2 or 0 - 7. |
- int _pcp; |
- |
- Atomic32 _receiveBuffers; |
-}; |
- |
-} // namespace test |
-} // namespace webrtc |
- |
-#endif // WEBRTC_VOICE_ENGINE_TEST_CHANNEL_TRANSPORT_UDP_SOCKET2_WINDOWS_H_ |