diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-30 20:16:29 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-30 20:16:29 +0000 |
commit | 4dcdb14d4d5a69bed1dd9bbaa84389ef5a078737 (patch) | |
tree | a1de6c21540f352b8b24a2a7ca61886a71c74440 /net/socket | |
parent | cd70bdff829e7587d889824841f808425772a29e (diff) | |
download | chromium_src-4dcdb14d4d5a69bed1dd9bbaa84389ef5a078737.zip chromium_src-4dcdb14d4d5a69bed1dd9bbaa84389ef5a078737.tar.gz chromium_src-4dcdb14d4d5a69bed1dd9bbaa84389ef5a078737.tar.bz2 |
Define the GetPeerName method of the ClientSocket interface for all
platforms, in preparation for using SSLClientSocketNSS on Windows.
nss_memio.c does not need to include <unistd.h>
Fix style nits.
R=eroman
BUG=28744
TEST=none
Review URL: http://codereview.chromium.org/440031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33319 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r-- | net/socket/client_socket.cc | 6 | ||||
-rw-r--r-- | net/socket/client_socket.h | 7 | ||||
-rw-r--r-- | net/socket/socket_test_util.cc | 4 | ||||
-rw-r--r-- | net/socket/socket_test_util.h | 11 | ||||
-rw-r--r-- | net/socket/tcp_client_socket_libevent.cc | 4 | ||||
-rw-r--r-- | net/socket/tcp_client_socket_libevent.h | 4 | ||||
-rw-r--r-- | net/socket/tcp_client_socket_win.cc | 5 | ||||
-rw-r--r-- | net/socket/tcp_client_socket_win.h | 3 |
8 files changed, 20 insertions, 24 deletions
diff --git a/net/socket/client_socket.cc b/net/socket/client_socket.cc index e01045be..a3f204a 100644 --- a/net/socket/client_socket.cc +++ b/net/socket/client_socket.cc @@ -9,14 +9,12 @@ namespace net { -#if defined(OS_LINUX) || defined(OS_MACOSX) -// Identical to posix system call getpeername(). +// Identical to BSD socket call getpeername(). // Needed by ssl_client_socket_nss and ssl_client_socket_mac. -int ClientSocket::GetPeerName(struct sockaddr *name, socklen_t *namelen) { +int ClientSocket::GetPeerName(struct sockaddr* name, socklen_t* namelen) { // Default implementation just permits some unit tests to link. NOTREACHED(); return ERR_UNEXPECTED; } -#endif } // namespace net diff --git a/net/socket/client_socket.h b/net/socket/client_socket.h index 59363166b..0faab2c 100644 --- a/net/socket/client_socket.h +++ b/net/socket/client_socket.h @@ -7,8 +7,11 @@ #include "build/build_config.h" +// For struct sockaddr and socklen_t. #if defined(OS_LINUX) || defined(OS_MACOSX) #include <sys/socket.h> +#elif defined(OS_WIN) +#include <ws2tcpip.h> #endif #include "net/socket/socket.h" @@ -53,11 +56,9 @@ class ClientSocket : public Socket { // have been received. virtual bool IsConnectedAndIdle() const = 0; -#if defined(OS_LINUX) || defined(OS_MACOSX) - // Identical to posix system call getpeername(). + // Identical to BSD socket call getpeername(). // Needed by ssl_client_socket_nss and ssl_client_socket_mac. virtual int GetPeerName(struct sockaddr* name, socklen_t* namelen); -#endif }; } // namespace net diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc index f44d0cd..275ca84 100644 --- a/net/socket/socket_test_util.cc +++ b/net/socket/socket_test_util.cc @@ -41,12 +41,10 @@ bool MockClientSocket::IsConnectedAndIdle() const { return connected_; } -#if defined(OS_LINUX) -int MockClientSocket::GetPeerName(struct sockaddr *name, socklen_t *namelen) { +int MockClientSocket::GetPeerName(struct sockaddr* name, socklen_t* namelen) { memset(reinterpret_cast<char *>(name), 0, *namelen); return net::OK; } -#endif // defined(OS_LINUX) void MockClientSocket::RunCallbackAsync(net::CompletionCallback* callback, int result) { diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h index 29f4d67..d288203 100644 --- a/net/socket/socket_test_util.h +++ b/net/socket/socket_test_util.h @@ -266,14 +266,15 @@ class MockClientSocket : public net::SSLClientSocket { // ClientSocket methods: virtual int Connect(net::CompletionCallback* callback, LoadLog* load_log) = 0; + virtual void Disconnect(); + virtual bool IsConnected() const; + virtual bool IsConnectedAndIdle() const; + virtual int GetPeerName(struct sockaddr* name, socklen_t* namelen); // SSLClientSocket methods: virtual void GetSSLInfo(net::SSLInfo* ssl_info); virtual void GetSSLCertRequestInfo( net::SSLCertRequestInfo* cert_request_info); - virtual void Disconnect(); - virtual bool IsConnected() const; - virtual bool IsConnectedAndIdle() const; // Socket methods: virtual int Read(net::IOBuffer* buf, int buf_len, @@ -283,10 +284,6 @@ class MockClientSocket : public net::SSLClientSocket { virtual bool SetReceiveBufferSize(int32 size) { return true; }; virtual bool SetSendBufferSize(int32 size) { return true; }; -#if defined(OS_LINUX) - virtual int GetPeerName(struct sockaddr *name, socklen_t *namelen); -#endif - // If an async IO is pending because the SocketDataProvider returned // ERR_IO_PENDING, then the MockClientSocket waits until this OnReadComplete // is called to complete the asynchronous read operation. diff --git a/net/socket/tcp_client_socket_libevent.cc b/net/socket/tcp_client_socket_libevent.cc index f4dee45..06a954b 100644 --- a/net/socket/tcp_client_socket_libevent.cc +++ b/net/socket/tcp_client_socket_libevent.cc @@ -446,8 +446,8 @@ void TCPClientSocketLibevent::DidCompleteWrite() { } } -int TCPClientSocketLibevent::GetPeerName(struct sockaddr *name, - socklen_t *namelen) { +int TCPClientSocketLibevent::GetPeerName(struct sockaddr* name, + socklen_t* namelen) { return ::getpeername(socket_, name, namelen); } diff --git a/net/socket/tcp_client_socket_libevent.h b/net/socket/tcp_client_socket_libevent.h index 10b1c31..b054805 100644 --- a/net/socket/tcp_client_socket_libevent.h +++ b/net/socket/tcp_client_socket_libevent.h @@ -5,8 +5,6 @@ #ifndef NET_SOCKET_TCP_CLIENT_SOCKET_LIBEVENT_H_ #define NET_SOCKET_TCP_CLIENT_SOCKET_LIBEVENT_H_ -#include <sys/socket.h> // for struct sockaddr - #include "base/message_loop.h" #include "base/ref_counted.h" #include "base/scoped_ptr.h" @@ -35,7 +33,7 @@ class TCPClientSocketLibevent : public ClientSocket { virtual void Disconnect(); virtual bool IsConnected() const; virtual bool IsConnectedAndIdle() const; - virtual int GetPeerName(struct sockaddr *name, socklen_t *namelen); + virtual int GetPeerName(struct sockaddr* name, socklen_t* namelen); // Socket methods: // Multiple outstanding requests are not supported. diff --git a/net/socket/tcp_client_socket_win.cc b/net/socket/tcp_client_socket_win.cc index 0bb8148..bfd1981 100644 --- a/net/socket/tcp_client_socket_win.cc +++ b/net/socket/tcp_client_socket_win.cc @@ -449,6 +449,11 @@ bool TCPClientSocketWin::IsConnectedAndIdle() const { return true; } +int TCPClientSocketWin::GetPeerName(struct sockaddr* name, + socklen_t* namelen) { + return getpeername(socket_, name, namelen); +} + int TCPClientSocketWin::Read(IOBuffer* buf, int buf_len, CompletionCallback* callback) { diff --git a/net/socket/tcp_client_socket_win.h b/net/socket/tcp_client_socket_win.h index 032f1a6..9ad1632 100644 --- a/net/socket/tcp_client_socket_win.h +++ b/net/socket/tcp_client_socket_win.h @@ -5,8 +5,6 @@ #ifndef NET_SOCKET_TCP_CLIENT_SOCKET_WIN_H_ #define NET_SOCKET_TCP_CLIENT_SOCKET_WIN_H_ -#include <ws2tcpip.h> - #include "base/object_watcher.h" #include "net/base/address_list.h" #include "net/base/completion_callback.h" @@ -30,6 +28,7 @@ class TCPClientSocketWin : public ClientSocket { virtual void Disconnect(); virtual bool IsConnected() const; virtual bool IsConnectedAndIdle() const; + virtual int GetPeerName(struct sockaddr* name, socklen_t* namelen); // Socket methods: // Multiple outstanding requests are not supported. |