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

Unified Diff: webrtc/voice_engine/test/channel_transport/udp_socket2_win.h

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/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_

Powered by Google App Engine
This is Rietveld 408576698