Index: chrome/browser/extensions/api/socket/udp_socket.h |
diff --git a/chrome/browser/extensions/api/socket/udp_socket.h b/chrome/browser/extensions/api/socket/udp_socket.h |
index 053398df005230deed58e5e1925078c598dfb709..e09193ce5f0b949e2c7721503956a767198238d5 100644 |
--- a/chrome/browser/extensions/api/socket/udp_socket.h |
+++ b/chrome/browser/extensions/api/socket/udp_socket.h |
@@ -20,23 +20,45 @@ class UDPSocket : public Socket { |
explicit UDPSocket(APIResourceEventNotifier* event_notifier); |
virtual ~UDPSocket(); |
- virtual int Connect(const std::string& address, int port) OVERRIDE; |
+ virtual void Connect(const std::string& address, |
+ int port, |
+ const CompletionCallback& callback) OVERRIDE; |
virtual void Disconnect() OVERRIDE; |
virtual int Bind(const std::string& address, int port) OVERRIDE; |
- virtual int Read(scoped_refptr<net::IOBuffer> io_buffer, |
- int io_buffer_size) OVERRIDE; |
- virtual int Write(scoped_refptr<net::IOBuffer> io_buffer, |
- int bytes) OVERRIDE; |
- virtual int RecvFrom(scoped_refptr<net::IOBuffer> io_buffer, |
- int io_buffer_size, |
- net::IPEndPoint* address) OVERRIDE; |
- virtual int SendTo(scoped_refptr<net::IOBuffer> io_buffer, |
- int byte_count, |
- const std::string& address, |
- int port) OVERRIDE; |
+ virtual void Read(int count, |
+ const ReadCompletionCallback& callback) OVERRIDE; |
+ virtual void Write(scoped_refptr<net::IOBuffer> io_buffer, |
+ int bytes, |
+ const CompletionCallback& callback) OVERRIDE; |
+ virtual void RecvFrom(int count, |
+ const RecvFromCompletionCallback& callback) OVERRIDE; |
+ virtual void SendTo(scoped_refptr<net::IOBuffer> io_buffer, |
+ int byte_count, |
+ const std::string& address, |
+ int port, |
+ const CompletionCallback& callback) OVERRIDE; |
private: |
+ // Make net::IPEndPoint can be refcounted |
+ typedef base::RefCountedData<net::IPEndPoint> IPEndPoint; |
+ |
+ virtual void OnReadComplete(scoped_refptr<net::IOBuffer> io_buffer, |
+ int result); |
+ virtual void OnWriteComplete(int result); |
+ virtual void OnRecvFromComplete(scoped_refptr<net::IOBuffer> io_buffer, |
+ scoped_refptr<IPEndPoint> address, |
+ int result); |
+ virtual void OnSendToComplete(int result); |
+ |
net::UDPSocket socket_; |
+ |
+ ReadCompletionCallback read_callback_; |
+ |
+ CompletionCallback write_callback_; |
+ |
+ RecvFromCompletionCallback recv_from_callback_; |
+ |
+ CompletionCallback send_to_callback_; |
}; |
} // namespace extensions |