OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 const std::string& password, // ice password. | 64 const std::string& password, // ice password. |
65 const ProtocolAddress& server_address, | 65 const ProtocolAddress& server_address, |
66 const RelayCredentials& credentials, | 66 const RelayCredentials& credentials, |
67 int server_priority, | 67 int server_priority, |
68 const std::string& origin) { | 68 const std::string& origin) { |
69 return new TurnPort(thread, factory, network, ip, min_port, max_port, | 69 return new TurnPort(thread, factory, network, ip, min_port, max_port, |
70 username, password, server_address, credentials, | 70 username, password, server_address, credentials, |
71 server_priority, origin); | 71 server_priority, origin); |
72 } | 72 } |
73 | 73 |
74 virtual ~TurnPort(); | 74 ~TurnPort() override; |
75 | 75 |
76 const ProtocolAddress& server_address() const { return server_address_; } | 76 const ProtocolAddress& server_address() const { return server_address_; } |
77 // Returns an empty address if the local address has not been assigned. | 77 // Returns an empty address if the local address has not been assigned. |
78 rtc::SocketAddress GetLocalAddress() const; | 78 rtc::SocketAddress GetLocalAddress() const; |
79 | 79 |
80 bool ready() const { return state_ == STATE_READY; } | 80 bool ready() const { return state_ == STATE_READY; } |
81 bool connected() const { | 81 bool connected() const { |
82 return state_ == STATE_READY || state_ == STATE_CONNECTED; | 82 return state_ == STATE_READY || state_ == STATE_CONNECTED; |
83 } | 83 } |
84 const RelayCredentials& credentials() const { return credentials_; } | 84 const RelayCredentials& credentials() const { return credentials_; } |
85 | 85 |
86 virtual void PrepareAddress(); | 86 void PrepareAddress() override; |
87 virtual Connection* CreateConnection( | 87 Connection* CreateConnection(const Candidate& c, |
88 const Candidate& c, PortInterface::CandidateOrigin origin); | 88 PortInterface::CandidateOrigin origin, |
89 virtual int SendTo(const void* data, size_t size, | 89 const IceConfig& config) override; |
90 const rtc::SocketAddress& addr, | 90 int SendTo(const void* data, |
91 const rtc::PacketOptions& options, | 91 size_t size, |
92 bool payload); | 92 const rtc::SocketAddress& addr, |
93 virtual int SetOption(rtc::Socket::Option opt, int value); | 93 const rtc::PacketOptions& options, |
94 virtual int GetOption(rtc::Socket::Option opt, int* value); | 94 bool payload) override; |
95 virtual int GetError(); | 95 int SetOption(rtc::Socket::Option opt, int value) override; |
| 96 int GetOption(rtc::Socket::Option opt, int* value) override; |
| 97 int GetError() override; |
96 | 98 |
97 virtual bool HandleIncomingPacket(rtc::AsyncPacketSocket* socket, | 99 bool HandleIncomingPacket(rtc::AsyncPacketSocket* socket, |
98 const char* data, size_t size, | 100 const char* data, |
99 const rtc::SocketAddress& remote_addr, | 101 size_t size, |
100 const rtc::PacketTime& packet_time); | |
101 virtual void OnReadPacket(rtc::AsyncPacketSocket* socket, | |
102 const char* data, size_t size, | |
103 const rtc::SocketAddress& remote_addr, | 102 const rtc::SocketAddress& remote_addr, |
104 const rtc::PacketTime& packet_time); | 103 const rtc::PacketTime& packet_time) override; |
| 104 void OnReadPacket(rtc::AsyncPacketSocket* socket, |
| 105 const char* data, |
| 106 size_t size, |
| 107 const rtc::SocketAddress& remote_addr, |
| 108 const rtc::PacketTime& packet_time); |
105 | 109 |
106 virtual void OnSentPacket(rtc::AsyncPacketSocket* socket, | 110 void OnSentPacket(rtc::AsyncPacketSocket* socket, |
107 const rtc::SentPacket& sent_packet); | 111 const rtc::SentPacket& sent_packet) override; |
108 virtual void OnReadyToSend(rtc::AsyncPacketSocket* socket); | 112 void OnReadyToSend(rtc::AsyncPacketSocket* socket); |
109 virtual bool SupportsProtocol(const std::string& protocol) const { | 113 bool SupportsProtocol(const std::string& protocol) const override { |
110 // Turn port only connects to UDP candidates. | 114 // Turn port only connects to UDP candidates. |
111 return protocol == UDP_PROTOCOL_NAME; | 115 return protocol == UDP_PROTOCOL_NAME; |
112 } | 116 } |
113 | 117 |
114 void OnSocketConnect(rtc::AsyncPacketSocket* socket); | 118 void OnSocketConnect(rtc::AsyncPacketSocket* socket); |
115 void OnSocketClose(rtc::AsyncPacketSocket* socket, int error); | 119 void OnSocketClose(rtc::AsyncPacketSocket* socket, int error); |
116 | 120 |
117 | 121 |
118 const std::string& hash() const { return hash_; } | 122 const std::string& hash() const { return hash_; } |
119 const std::string& nonce() const { return nonce_; } | 123 const std::string& nonce() const { return nonce_; } |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 MSG_ALLOCATE_ERROR = MSG_FIRST_AVAILABLE, | 186 MSG_ALLOCATE_ERROR = MSG_FIRST_AVAILABLE, |
183 MSG_ALLOCATE_MISMATCH, | 187 MSG_ALLOCATE_MISMATCH, |
184 MSG_TRY_ALTERNATE_SERVER, | 188 MSG_TRY_ALTERNATE_SERVER, |
185 MSG_REFRESH_ERROR | 189 MSG_REFRESH_ERROR |
186 }; | 190 }; |
187 | 191 |
188 typedef std::list<TurnEntry*> EntryList; | 192 typedef std::list<TurnEntry*> EntryList; |
189 typedef std::map<rtc::Socket::Option, int> SocketOptionsMap; | 193 typedef std::map<rtc::Socket::Option, int> SocketOptionsMap; |
190 typedef std::set<rtc::SocketAddress> AttemptedServerSet; | 194 typedef std::set<rtc::SocketAddress> AttemptedServerSet; |
191 | 195 |
192 virtual void OnMessage(rtc::Message* pmsg); | 196 void OnMessage(rtc::Message* pmsg) override; |
193 virtual void HandleConnectionDestroyed(Connection* conn); | 197 void HandleConnectionDestroyed(Connection* conn) override; |
194 | 198 |
195 bool CreateTurnClientSocket(); | 199 bool CreateTurnClientSocket(); |
196 | 200 |
197 void set_nonce(const std::string& nonce) { nonce_ = nonce; } | 201 void set_nonce(const std::string& nonce) { nonce_ = nonce; } |
198 void set_realm(const std::string& realm) { | 202 void set_realm(const std::string& realm) { |
199 if (realm != realm_) { | 203 if (realm != realm_) { |
200 realm_ = realm; | 204 realm_ = realm; |
201 UpdateHash(); | 205 UpdateHash(); |
202 } | 206 } |
203 } | 207 } |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 friend class TurnEntry; | 283 friend class TurnEntry; |
280 friend class TurnAllocateRequest; | 284 friend class TurnAllocateRequest; |
281 friend class TurnRefreshRequest; | 285 friend class TurnRefreshRequest; |
282 friend class TurnCreatePermissionRequest; | 286 friend class TurnCreatePermissionRequest; |
283 friend class TurnChannelBindRequest; | 287 friend class TurnChannelBindRequest; |
284 }; | 288 }; |
285 | 289 |
286 } // namespace cricket | 290 } // namespace cricket |
287 | 291 |
288 #endif // WEBRTC_P2P_BASE_TURNPORT_H_ | 292 #endif // WEBRTC_P2P_BASE_TURNPORT_H_ |
OLD | NEW |