Index: net/socket/ssl_server_socket.h |
diff --git a/net/socket/ssl_server_socket.h b/net/socket/ssl_server_socket.h |
index bfbe7de91107bda3b35a7e1315ae3bb7c41650ae..479bbc7a4f9c14445b643154fa1b54bb7c159acf 100644 |
--- a/net/socket/ssl_server_socket.h |
+++ b/net/socket/ssl_server_socket.h |
@@ -31,6 +31,20 @@ class SSLServerSocket : public SSLSocket { |
virtual int Handshake(const CompletionCallback& callback) = 0; |
}; |
+class SSLServerContext { |
+ public: |
+ virtual ~SSLServerContext(){}; |
+ |
+ // Creates an SSL server socket over an already-connected transport socket. |
+ // The caller must ensure the returned socket does not outlive the server |
+ // context. |
+ // |
+ // The caller starts the SSL server handshake by calling Handshake on the |
+ // returned socket. |
+ virtual scoped_ptr<SSLServerSocket> CreateSSLServerSocket( |
+ scoped_ptr<StreamSocket> socket) = 0; |
+}; |
+ |
// Configures the underlying SSL library for the use of SSL server sockets. |
// |
// Due to the requirements of the underlying libraries, this should be called |
@@ -41,18 +55,14 @@ class SSLServerSocket : public SSLSocket { |
// omitted. |
NET_EXPORT void EnableSSLServerSockets(); |
-// Creates an SSL server socket over an already-connected transport socket. |
-// The caller must provide the server certificate and private key to use. |
+// Creates an SSL server socket context where all sockets spawned using this |
+// context will share the same session cache. |
// |
-// The returned SSLServerSocket takes ownership of |socket|. Stubbed versions |
-// of CreateSSLServerSocket will delete |socket| and return NULL. |
+// The caller must provide the server certificate and private key to use. |
// It takes a reference to |certificate|. |
// The |key| and |ssl_config| parameters are copied. |
// |
-// The caller starts the SSL server handshake by calling Handshake on the |
-// returned socket. |
-NET_EXPORT scoped_ptr<SSLServerSocket> CreateSSLServerSocket( |
- scoped_ptr<StreamSocket> socket, |
+NET_EXPORT scoped_ptr<SSLServerContext> CreateSSLServerContext( |
X509Certificate* certificate, |
const crypto::RSAPrivateKey& key, |
const SSLServerConfig& ssl_config); |