| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 /* |  | 
| 2  *  Copyright 2017 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_API_UDPTRANSPORTINTERFACE_H_ |  | 
| 12 #define WEBRTC_API_UDPTRANSPORTINTERFACE_H_ |  | 
| 13 |  | 
| 14 #include "webrtc/api/proxy.h" |  | 
| 15 #include "webrtc/base/socketaddress.h" |  | 
| 16 |  | 
| 17 namespace webrtc { |  | 
| 18 |  | 
| 19 // Interface for a raw UDP transport (not using ICE), meaning a combination of |  | 
| 20 // a local/remote IP address/port. |  | 
| 21 // |  | 
| 22 // An instance can be instantiated using OrtcFactory. |  | 
| 23 // |  | 
| 24 // Each instance reserves a UDP port, which will be freed when the |  | 
| 25 // UdpTransportInterface destructor is called. |  | 
| 26 // |  | 
| 27 // Calling SetRemoteAddress sets the destination of outgoing packets; without a |  | 
| 28 // destination, packets can't be sent, but they can be received. |  | 
| 29 class UdpTransportInterface { |  | 
| 30  public: |  | 
| 31   virtual ~UdpTransportInterface() {} |  | 
| 32 |  | 
| 33   // Get the address of the socket allocated for this transport. |  | 
| 34   virtual rtc::SocketAddress GetLocalAddress() const = 0; |  | 
| 35 |  | 
| 36   // Sets the address to which packets will be delivered. |  | 
| 37   // |  | 
| 38   // Calling with a "nil" (default-constructed) address is legal, and unsets |  | 
| 39   // any previously set destination. |  | 
| 40   // |  | 
| 41   // However, calling with an incomplete address (port or IP not set) will |  | 
| 42   // fail. |  | 
| 43   virtual bool SetRemoteAddress(const rtc::SocketAddress& dest) = 0; |  | 
| 44   // Simple getter. If never set, returns nil address. |  | 
| 45   virtual rtc::SocketAddress GetRemoteAddress() const = 0; |  | 
| 46 }; |  | 
| 47 |  | 
| 48 BEGIN_OWNED_PROXY_MAP(UdpTransport) |  | 
| 49   PROXY_WORKER_THREAD_DESTRUCTOR() |  | 
| 50   PROXY_WORKER_CONSTMETHOD0(rtc::SocketAddress, GetLocalAddress) |  | 
| 51   PROXY_WORKER_METHOD1(bool, SetRemoteAddress, const rtc::SocketAddress&) |  | 
| 52   PROXY_WORKER_CONSTMETHOD0(rtc::SocketAddress, GetRemoteAddress) |  | 
| 53 END_PROXY_MAP() |  | 
| 54 |  | 
| 55 }  // namespace webrtc |  | 
| 56 |  | 
| 57 #endif  // WEBRTC_API_UDPTRANSPORTINTERFACE_H_ |  | 
| OLD | NEW | 
|---|