| OLD | NEW |
| 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 | 64 |
| 65 private: | 65 private: |
| 66 // Called by the underlying socket | 66 // Called by the underlying socket |
| 67 void OnConnectEvent(AsyncSocket* socket); | 67 void OnConnectEvent(AsyncSocket* socket); |
| 68 void OnReadEvent(AsyncSocket* socket); | 68 void OnReadEvent(AsyncSocket* socket); |
| 69 void OnWriteEvent(AsyncSocket* socket); | 69 void OnWriteEvent(AsyncSocket* socket); |
| 70 void OnCloseEvent(AsyncSocket* socket, int error); | 70 void OnCloseEvent(AsyncSocket* socket, int error); |
| 71 | 71 |
| 72 scoped_ptr<AsyncSocket> socket_; | 72 scoped_ptr<AsyncSocket> socket_; |
| 73 bool listen_; | 73 bool listen_; |
| 74 char* inbuf_, * outbuf_; | 74 scoped_ptr<char[]> inbuf_; |
| 75 scoped_ptr<char[]> outbuf_; |
| 75 size_t insize_, inpos_, outsize_, outpos_; | 76 size_t insize_, inpos_, outsize_, outpos_; |
| 76 | 77 |
| 77 RTC_DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocketBase); | 78 RTC_DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocketBase); |
| 78 }; | 79 }; |
| 79 | 80 |
| 80 class AsyncTCPSocket : public AsyncTCPSocketBase { | 81 class AsyncTCPSocket : public AsyncTCPSocketBase { |
| 81 public: | 82 public: |
| 82 // Binds and connects |socket| and creates AsyncTCPSocket for | 83 // Binds and connects |socket| and creates AsyncTCPSocket for |
| 83 // it. Takes ownership of |socket|. Returns NULL if bind() or | 84 // it. Takes ownership of |socket|. Returns NULL if bind() or |
| 84 // connect() fail (|socket| is destroyed in that case). | 85 // connect() fail (|socket| is destroyed in that case). |
| 85 static AsyncTCPSocket* Create(AsyncSocket* socket, | 86 static AsyncTCPSocket* Create(AsyncSocket* socket, |
| 86 const SocketAddress& bind_address, | 87 const SocketAddress& bind_address, |
| 87 const SocketAddress& remote_address); | 88 const SocketAddress& remote_address); |
| 88 AsyncTCPSocket(AsyncSocket* socket, bool listen); | 89 AsyncTCPSocket(AsyncSocket* socket, bool listen); |
| 89 ~AsyncTCPSocket() override {} | 90 ~AsyncTCPSocket() override {} |
| 90 | 91 |
| 91 int Send(const void* pv, | 92 int Send(const void* pv, |
| 92 size_t cb, | 93 size_t cb, |
| 93 const rtc::PacketOptions& options) override; | 94 const rtc::PacketOptions& options) override; |
| 94 void ProcessInput(char* data, size_t* len) override; | 95 void ProcessInput(char* data, size_t* len) override; |
| 95 void HandleIncomingConnection(AsyncSocket* socket) override; | 96 void HandleIncomingConnection(AsyncSocket* socket) override; |
| 96 | 97 |
| 97 private: | 98 private: |
| 98 RTC_DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocket); | 99 RTC_DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocket); |
| 99 }; | 100 }; |
| 100 | 101 |
| 101 } // namespace rtc | 102 } // namespace rtc |
| 102 | 103 |
| 103 #endif // WEBRTC_BASE_ASYNCTCPSOCKET_H_ | 104 #endif // WEBRTC_BASE_ASYNCTCPSOCKET_H_ |
| OLD | NEW |