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

Side by Side Diff: webrtc/base/socketadapters.h

Issue 1944683002: Read recv timestamps from socket (posix only). (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix win build. Created 4 years, 7 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
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 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 18 matching lines...) Expand all
29 29
30 // Implements a socket adapter that can buffer and process data internally, 30 // Implements a socket adapter that can buffer and process data internally,
31 // as in the case of connecting to a proxy, where you must speak the proxy 31 // as in the case of connecting to a proxy, where you must speak the proxy
32 // protocol before commencing normal socket behavior. 32 // protocol before commencing normal socket behavior.
33 class BufferedReadAdapter : public AsyncSocketAdapter { 33 class BufferedReadAdapter : public AsyncSocketAdapter {
34 public: 34 public:
35 BufferedReadAdapter(AsyncSocket* socket, size_t buffer_size); 35 BufferedReadAdapter(AsyncSocket* socket, size_t buffer_size);
36 ~BufferedReadAdapter() override; 36 ~BufferedReadAdapter() override;
37 37
38 int Send(const void* pv, size_t cb) override; 38 int Send(const void* pv, size_t cb) override;
39 int Recv(void* pv, size_t cb) override; 39 int Recv(void* pv, size_t cb, int64_t* timestamp) override;
40 40
41 protected: 41 protected:
42 int DirectSend(const void* pv, size_t cb) { 42 int DirectSend(const void* pv, size_t cb) {
43 return AsyncSocketAdapter::Send(pv, cb); 43 return AsyncSocketAdapter::Send(pv, cb);
44 } 44 }
45 45
46 void BufferInput(bool on = true); 46 void BufferInput(bool on = true);
47 virtual void ProcessInput(char* data, size_t* len) = 0; 47 virtual void ProcessInput(char* data, size_t* len) = 0;
48 48
49 void OnReadEvent(AsyncSocket* socket) override; 49 void OnReadEvent(AsyncSocket* socket) override;
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 /////////////////////////////////////////////////////////////////////////////// 217 ///////////////////////////////////////////////////////////////////////////////
218 218
219 // Implements a socket adapter that logs everything that it sends and receives. 219 // Implements a socket adapter that logs everything that it sends and receives.
220 class LoggingSocketAdapter : public AsyncSocketAdapter { 220 class LoggingSocketAdapter : public AsyncSocketAdapter {
221 public: 221 public:
222 LoggingSocketAdapter(AsyncSocket* socket, LoggingSeverity level, 222 LoggingSocketAdapter(AsyncSocket* socket, LoggingSeverity level,
223 const char * label, bool hex_mode = false); 223 const char * label, bool hex_mode = false);
224 224
225 int Send(const void* pv, size_t cb) override; 225 int Send(const void* pv, size_t cb) override;
226 int SendTo(const void* pv, size_t cb, const SocketAddress& addr) override; 226 int SendTo(const void* pv, size_t cb, const SocketAddress& addr) override;
227 int Recv(void* pv, size_t cb) override; 227 int Recv(void* pv, size_t cb, int64_t* timestamp) override;
228 int RecvFrom(void* pv, size_t cb, SocketAddress* paddr) override; 228 int RecvFrom(void* pv,
229 size_t cb,
230 SocketAddress* paddr,
231 int64_t* timestamp) override;
229 int Close() override; 232 int Close() override;
230 233
231 protected: 234 protected:
232 void OnConnectEvent(AsyncSocket* socket) override; 235 void OnConnectEvent(AsyncSocket* socket) override;
233 void OnCloseEvent(AsyncSocket* socket, int err) override; 236 void OnCloseEvent(AsyncSocket* socket, int err) override;
234 237
235 private: 238 private:
236 LoggingSeverity level_; 239 LoggingSeverity level_;
237 std::string label_; 240 std::string label_;
238 bool hex_mode_; 241 bool hex_mode_;
239 LogMultilineState lms_; 242 LogMultilineState lms_;
240 RTC_DISALLOW_COPY_AND_ASSIGN(LoggingSocketAdapter); 243 RTC_DISALLOW_COPY_AND_ASSIGN(LoggingSocketAdapter);
241 }; 244 };
242 245
243 /////////////////////////////////////////////////////////////////////////////// 246 ///////////////////////////////////////////////////////////////////////////////
244 247
245 } // namespace rtc 248 } // namespace rtc
246 249
247 #endif // WEBRTC_BASE_SOCKETADAPTERS_H_ 250 #endif // WEBRTC_BASE_SOCKETADAPTERS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698