Chromium Code Reviews| Index: net/socket/unix_domain_server_socket_posix.h |
| diff --git a/net/socket/unix_domain_server_socket_posix.h b/net/socket/unix_domain_server_socket_posix.h |
| index 85c743d2b8fcc6613afba713cec729687c13eb42..65b3fa132c3cada822fc1cd789350c5a561d3dbb 100644 |
| --- a/net/socket/unix_domain_server_socket_posix.h |
| +++ b/net/socket/unix_domain_server_socket_posix.h |
| @@ -59,11 +59,23 @@ class NET_EXPORT UnixDomainServerSocket : public ServerSocket { |
| virtual int Accept(scoped_ptr<StreamSocket>* socket, |
| const CompletionCallback& callback) OVERRIDE; |
| + // Accepts an incoming connection on |listen_socket_|, but passes back |
| + // a raw SocketDescriptor instead of a StreamSocket. |
| + int AcceptSocketDescriptor(SocketDescriptor* socket_descriptor, |
| + const CompletionCallback& callback); |
|
byungchul
2014/09/03 00:13:54
Do we still prefer it to downcast in the callback?
|
| + |
| private: |
| - void AcceptCompleted(scoped_ptr<StreamSocket>* socket, |
| + // A callback to wrap the setting of the out-parameter to Accept(). |
| + // This allows the internal machinery of that call to be implemented in |
| + // a manner that's agnostic to the caller's desired output. |
| + typedef base::Callback<void(scoped_ptr<SocketLibevent>)> SetterCallback; |
| + |
| + int DoAccept(const SetterCallback& setter_callback, |
| + const CompletionCallback& callback); |
| + void AcceptCompleted(const SetterCallback& setter_callback, |
| const CompletionCallback& callback, |
| int rv); |
| - bool AuthenticateAndGetStreamSocket(scoped_ptr<StreamSocket>* socket); |
| + bool AuthenticateAndGetStreamSocket(const SetterCallback& setter_callback); |
| scoped_ptr<SocketLibevent> listen_socket_; |
| const AuthCallback auth_callback_; |