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

Side by Side Diff: webrtc/test/channel_transport/udp_socket_posix.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) 2011 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_POSIX_H_
12 #define WEBRTC_TEST_CHANNEL_TRANSPORT_UDP_SOCKET_POSIX_H_
13
14 #include <arpa/inet.h>
15 #include <netinet/in.h>
16 #include <sys/socket.h>
17 #include <sys/types.h>
18
19 #include "webrtc/base/event.h"
20 #include "webrtc/base/criticalsection.h"
21 #include "webrtc/test/channel_transport/udp_socket_wrapper.h"
22
23 namespace webrtc {
24 namespace test {
25
26 #define SOCKET_ERROR -1
27
28 class UdpSocketPosix : public UdpSocketWrapper
29 {
30 public:
31 UdpSocketPosix(const int32_t id, UdpSocketManager* mgr,
32 bool ipV6Enable = false);
33
34 virtual ~UdpSocketPosix();
35
36 bool SetCallback(CallbackObj obj, IncomingSocketCallback cb) override;
37
38 bool Bind(const SocketAddress& name) override;
39
40 bool SetSockopt(int32_t level,
41 int32_t optname,
42 const int8_t* optval,
43 int32_t optlen) override;
44
45 int32_t SetTOS(const int32_t serviceType) override;
46
47 int32_t SendTo(const int8_t* buf,
48 size_t len,
49 const SocketAddress& to) override;
50
51 // Deletes socket in addition to closing it.
52 // TODO (hellner): make destructor protected.
53 void CloseBlocking() override;
54
55 SOCKET GetFd();
56
57 bool ValidHandle() override;
58
59 bool SetQos(int32_t /*serviceType*/,
60 int32_t /*tokenRate*/,
61 int32_t /*bucketSize*/,
62 int32_t /*peekBandwith*/,
63 int32_t /*minPolicedSize*/,
64 int32_t /*maxSduSize*/,
65 const SocketAddress& /*stRemName*/,
66 int32_t /*overrideDSCP*/) override;
67
68 bool CleanUp();
69 void HasIncoming();
70 bool WantsIncoming();
71 void ReadyForDeletion();
72 private:
73 friend class UdpSocketManagerPosix;
74
75 const int32_t _id;
76 IncomingSocketCallback _incomingCb;
77 CallbackObj _obj;
78
79 SOCKET _socket;
80 UdpSocketManager* _mgr;
81 rtc::Event _closeBlockingCompletedCond;
82 rtc::Event _readyForDeletionCond;
83
84 bool _closeBlockingActive;
85 bool _closeBlockingCompleted;
86 bool _readyForDeletion;
87
88 rtc::CriticalSection _cs;
89 };
90
91 } // namespace test
92 } // namespace webrtc
93
94 #endif // WEBRTC_TEST_CHANNEL_TRANSPORT_UDP_SOCKET_POSIX_H_
OLDNEW
« no previous file with comments | « webrtc/test/channel_transport/udp_socket_manager_wrapper.cc ('k') | webrtc/test/channel_transport/udp_socket_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698