Index: net/socket/ssl_server_socket_nss.cc |
diff --git a/net/socket/ssl_server_socket_nss.cc b/net/socket/ssl_server_socket_nss.cc |
index de212e299ce1e3bdd239336513b7815d9666ccee..6659368c80fc658a5c2222b149d741145fb94de8 100644 |
--- a/net/socket/ssl_server_socket_nss.cc |
+++ b/net/socket/ssl_server_socket_nss.cc |
@@ -46,13 +46,15 @@ static const int kRecvBufferSize = 4096; |
namespace net { |
SSLServerSocket* CreateSSLServerSocket( |
- Socket* socket, X509Certificate* cert, crypto::RSAPrivateKey* key, |
+ StreamSocket* socket, |
+ X509Certificate* cert, |
+ crypto::RSAPrivateKey* key, |
const SSLConfig& ssl_config) { |
return new SSLServerSocketNSS(socket, cert, key, ssl_config); |
} |
SSLServerSocketNSS::SSLServerSocketNSS( |
- Socket* transport_socket, |
+ StreamSocket* transport_socket, |
scoped_refptr<X509Certificate> cert, |
crypto::RSAPrivateKey* key, |
const SSLConfig& ssl_config) |
@@ -62,7 +64,7 @@ SSLServerSocketNSS::SSLServerSocketNSS( |
this, &SSLServerSocketNSS::BufferRecvComplete)), |
transport_send_busy_(false), |
transport_recv_busy_(false), |
- user_accept_callback_(NULL), |
+ user_connect_callback_(NULL), |
user_read_callback_(NULL), |
user_write_callback_(NULL), |
nss_fd_(NULL), |
@@ -90,7 +92,7 @@ SSLServerSocketNSS::~SSLServerSocketNSS() { |
} |
} |
-int SSLServerSocketNSS::Accept(CompletionCallback* callback) { |
+int SSLServerSocketNSS::Connect(CompletionCallback* callback) { |
net_log_.BeginEvent(NetLog::TYPE_SSL_ACCEPT, NULL); |
int rv = Init(); |
@@ -116,7 +118,7 @@ int SSLServerSocketNSS::Accept(CompletionCallback* callback) { |
GotoState(STATE_HANDSHAKE); |
rv = DoHandshakeLoop(net::OK); |
if (rv == ERR_IO_PENDING) { |
- user_accept_callback_ = callback; |
+ user_connect_callback_ = callback; |
} else { |
net_log_.EndEventWithNetErrorCode(NetLog::TYPE_SSL_ACCEPT, rv); |
} |
@@ -127,7 +129,7 @@ int SSLServerSocketNSS::Accept(CompletionCallback* callback) { |
int SSLServerSocketNSS::Read(IOBuffer* buf, int buf_len, |
CompletionCallback* callback) { |
DCHECK(!user_read_callback_); |
- DCHECK(!user_accept_callback_); |
+ DCHECK(!user_connect_callback_); |
DCHECK(!user_read_buf_); |
DCHECK(nss_bufs_); |
@@ -168,11 +170,55 @@ int SSLServerSocketNSS::Write(IOBuffer* buf, int buf_len, |
} |
bool SSLServerSocketNSS::SetReceiveBufferSize(int32 size) { |
- return false; |
+ return transport_socket_->SetReceiveBufferSize(size); |
} |
bool SSLServerSocketNSS::SetSendBufferSize(int32 size) { |
- return false; |
+ return transport_socket_->SetSendBufferSize(size); |
+} |
+ |
+bool SSLServerSocketNSS::IsConnected() const { |
+ return completed_handshake_; |
+} |
+ |
+void SSLServerSocketNSS::Disconnect() { |
+ transport_socket_->Disconnect(); |
+} |
+ |
+bool SSLServerSocketNSS::IsConnectedAndIdle() const { |
+ return completed_handshake_ && transport_socket_->IsConnectedAndIdle(); |
+} |
+ |
+int SSLServerSocketNSS::GetPeerAddress(AddressList* address) const { |
+ if (!IsConnected()) |
+ return ERR_SOCKET_NOT_CONNECTED; |
+ return transport_socket_->GetPeerAddress(address); |
+} |
+ |
+int SSLServerSocketNSS::GetLocalAddress(IPEndPoint* address) const { |
+ if (!IsConnected()) |
+ return ERR_SOCKET_NOT_CONNECTED; |
+ return transport_socket_->GetLocalAddress(address); |
+} |
+ |
+const BoundNetLog& SSLServerSocketNSS::NetLog() const { |
+ return net_log_; |
+} |
+ |
+void SSLServerSocketNSS::SetSubresourceSpeculation() { |
+ transport_socket_->SetSubresourceSpeculation(); |
+} |
+ |
+void SSLServerSocketNSS::SetOmniboxSpeculation() { |
+ transport_socket_->SetOmniboxSpeculation(); |
+} |
+ |
+bool SSLServerSocketNSS::WasEverUsed() const { |
+ return transport_socket_->WasEverUsed(); |
+} |
+ |
+bool SSLServerSocketNSS::UsingTCPFastOpen() const { |
+ return transport_socket_->UsingTCPFastOpen(); |
} |
int SSLServerSocketNSS::InitializeSSLOptions() { |
@@ -386,8 +432,8 @@ void SSLServerSocketNSS::OnHandshakeIOComplete(int result) { |
int rv = DoHandshakeLoop(result); |
if (rv != ERR_IO_PENDING) { |
net_log_.EndEventWithNetErrorCode(net::NetLog::TYPE_SSL_ACCEPT, rv); |
- if (user_accept_callback_) |
- DoAcceptCallback(rv); |
+ if (user_connect_callback_) |
+ DoConnectCallback(rv); |
} |
} |
@@ -609,11 +655,11 @@ int SSLServerSocketNSS::DoHandshake() { |
return net_error; |
} |
-void SSLServerSocketNSS::DoAcceptCallback(int rv) { |
+void SSLServerSocketNSS::DoConnectCallback(int rv) { |
DCHECK_NE(rv, ERR_IO_PENDING); |
- CompletionCallback* c = user_accept_callback_; |
- user_accept_callback_ = NULL; |
+ CompletionCallback* c = user_connect_callback_; |
+ user_connect_callback_ = NULL; |
c->Run(rv > OK ? OK : rv); |
} |