From 0f448061dec46ee8c396c772586ea560746dfe5e Mon Sep 17 00:00:00 2001 From: zzak Date: Fri, 20 Sep 2013 15:24:03 +0000 Subject: * ext/openssl/lib/openssl/ssl.rb: [DOC] Document OpenSSL::SSLServer Based on a patch by Rafal Lisowski [Bug #7348] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/openssl/lib/openssl/ssl.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'ext/openssl') diff --git a/ext/openssl/lib/openssl/ssl.rb b/ext/openssl/lib/openssl/ssl.rb index 741274a5f9..014e1137bc 100644 --- a/ext/openssl/lib/openssl/ssl.rb +++ b/ext/openssl/lib/openssl/ssl.rb @@ -148,10 +148,16 @@ module OpenSSL end end + ## + # SSLServer represents a TCP/IP server socket with Secure Sockets Layer. class SSLServer include SocketForwarder + # When true then #accept works exactly the same as TCPServer#accept attr_accessor :start_immediately + # Creates a new instance of SSLServer. + # * +srv+ is an instance of TCPServer. + # * +ctx+ is an instance of OpenSSL::SSL::SSLContext. def initialize(svr, ctx) @svr = svr @ctx = ctx @@ -164,18 +170,22 @@ module OpenSSL @start_immediately = true end + # Returns the TCPServer passed to the SSLServer when initialized. def to_io @svr end + # See TCPServer#listen for details. def listen(backlog=5) @svr.listen(backlog) end + # See BasicSocket#shutdown for details. def shutdown(how=Socket::SHUT_RDWR) @svr.shutdown(how) end + # Works similar to TCPServer#accept. def accept sock = @svr.accept begin @@ -189,6 +199,7 @@ module OpenSSL end end + # See IO#close for details. def close @svr.close end -- cgit v1.2.3