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

Side by Side Diff: webrtc/test/channel_transport/udp_socket_wrapper.h

Issue 2319583005: Moved webrtc/test/channel_transport/ into webrtc/voice_engine/test/ (Closed)
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_TEST_CHANNEL_TRANSPORT_UDP_SOCKET_WRAPPER_H_
12 #define WEBRTC_TEST_CHANNEL_TRANSPORT_UDP_SOCKET_WRAPPER_H_
13
14 #include "webrtc/test/channel_transport/udp_transport.h"
15
16 namespace webrtc {
17
18 class EventWrapper;
19
20 namespace test {
21
22 class UdpSocketManager;
23
24 #define SOCKET_ERROR_NO_QOS -1000
25
26 #ifndef _WIN32
27 typedef int SOCKET;
28 #endif
29
30 #ifndef INVALID_SOCKET
31 #define INVALID_SOCKET (SOCKET)(~0)
32
33 #ifndef AF_INET
34 #define AF_INET 2
35 #endif
36
37 #endif
38
39 typedef void* CallbackObj;
40 typedef void(*IncomingSocketCallback)(CallbackObj obj, const int8_t* buf,
41 size_t len, const SocketAddress* from);
42
43 class UdpSocketWrapper
44 {
45 public:
46 static UdpSocketWrapper* CreateSocket(const int32_t id,
47 UdpSocketManager* mgr,
48 CallbackObj obj,
49 IncomingSocketCallback cb,
50 bool ipV6Enable = false,
51 bool disableGQOS = false);
52
53 // Register cb for receiving callbacks when there are incoming packets.
54 // Register obj so that it will be passed in calls to cb.
55 virtual bool SetCallback(CallbackObj obj, IncomingSocketCallback cb) = 0;
56
57 // Socket to local address specified by name.
58 virtual bool Bind(const SocketAddress& name) = 0;
59
60 // Start receiving UDP data.
61 virtual bool StartReceiving();
62 virtual bool StartReceiving(const uint32_t /*receiveBuffers*/);
63 // Stop receiving UDP data.
64 virtual bool StopReceiving();
65
66 virtual bool ValidHandle() = 0;
67
68 // Set socket options.
69 virtual bool SetSockopt(int32_t level, int32_t optname,
70 const int8_t* optval, int32_t optlen) = 0;
71
72 // Set TOS for outgoing packets.
73 virtual int32_t SetTOS(const int32_t serviceType) = 0;
74
75 // Set 802.1Q PCP field (802.1p) for outgoing VLAN traffic.
76 virtual int32_t SetPCP(const int32_t /*pcp*/);
77
78 // Send buf of length len to the address specified by to.
79 virtual int32_t SendTo(const int8_t* buf, size_t len,
80 const SocketAddress& to) = 0;
81
82 virtual void SetEventToNull();
83
84 // Close socket and don't return until completed.
85 virtual void CloseBlocking() {}
86
87 // tokenRate is in bit/s. peakBandwidt is in byte/s
88 virtual bool SetQos(int32_t serviceType, int32_t tokenRate,
89 int32_t bucketSize, int32_t peekBandwith,
90 int32_t minPolicedSize, int32_t maxSduSize,
91 const SocketAddress &stRemName,
92 int32_t overrideDSCP = 0) = 0;
93
94 virtual uint32_t ReceiveBuffers();
95
96 protected:
97 // Creating the socket is done via CreateSocket().
98 UdpSocketWrapper();
99 // Destroying the socket is done via CloseBlocking().
100 virtual ~UdpSocketWrapper();
101
102 bool _wantsIncoming;
103 EventWrapper* _deleteEvent;
104
105 private:
106 static bool _initiated;
107 };
108
109 } // namespac test
110 } // namespace webrtc
111
112 #endif // WEBRTC_TEST_CHANNEL_TRANSPORT_UDP_SOCKET_WRAPPER_H_
OLDNEW
« no previous file with comments | « webrtc/test/channel_transport/udp_socket_posix.cc ('k') | webrtc/test/channel_transport/udp_socket_wrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698