mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Add new options open_timeout and read_timeout to Net::FTP.new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4c839a2cec
commit
30cc5ce4bd
2 changed files with 16 additions and 2 deletions
|
@ -190,6 +190,10 @@ module Net
|
|||
# account:: Account information for ACCT.
|
||||
# passive:: When +true+, the connection is in passive mode. Default:
|
||||
# +true+.
|
||||
# open_timeout:: Number of seconds to wait for the connection to open.
|
||||
# See Net::FTP#open_timeout for details. Default: +nil+.
|
||||
# read_timeout:: Number of seconds to wait for one block to be read.
|
||||
# See Net::FTP#read_timeout for details. Default: +60+.
|
||||
# debug_mode:: When +true+, all traffic to and from the server is
|
||||
# written to +$stdout+. Default: +false+.
|
||||
#
|
||||
|
@ -242,8 +246,8 @@ module Net
|
|||
@resume = false
|
||||
@bare_sock = @sock = NullSocket.new
|
||||
@logged_in = false
|
||||
@open_timeout = nil
|
||||
@read_timeout = 60
|
||||
@open_timeout = options[:open_timeout]
|
||||
@read_timeout = options[:read_timeout] || 60
|
||||
if host
|
||||
if options[:port]
|
||||
connect(host, options[:port] || FTP_PORT)
|
||||
|
|
|
@ -278,6 +278,16 @@ class FTPTest < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_s_new_timeout_options
|
||||
ftp = Net::FTP.new
|
||||
assert_equal(nil, ftp.open_timeout)
|
||||
assert_equal(60, ftp.read_timeout)
|
||||
|
||||
ftp = Net::FTP.new(nil, open_timeout: 123, read_timeout: 234)
|
||||
assert_equal(123, ftp.open_timeout)
|
||||
assert_equal(234, ftp.read_timeout)
|
||||
end
|
||||
|
||||
# TODO: How can we test open_timeout? sleep before accept cannot delay
|
||||
# connections.
|
||||
def _test_open_timeout_exceeded
|
||||
|
|
Loading…
Reference in a new issue