net-http-persistent 1.4.1 → 1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data.tar.gz.sig CHANGED
Binary file
data/.gemtest ADDED
File without changes
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ === 1.5 / 2011-01-25
2
+
3
+ * Minor Enhancements
4
+ * Set TCP_NODELAY on created socket if possible. (This will only help for
5
+ requests that send bodies.)
6
+
1
7
  === 1.4.1 / 2010-10-13
2
8
 
3
9
  * Bug Fixes
data/Manifest.txt CHANGED
@@ -1,4 +1,5 @@
1
1
  .autotest
2
+ .gemtest
2
3
  History.txt
3
4
  Manifest.txt
4
5
  README.txt
@@ -37,7 +37,7 @@ class Net::HTTP::Persistent
37
37
  ##
38
38
  # The version of Net::HTTP::Persistent use are using
39
39
 
40
- VERSION = '1.4.1'
40
+ VERSION = '1.5'
41
41
 
42
42
  ##
43
43
  # Error class for errors raised by Net::HTTP::Persistent. Various
@@ -224,6 +224,11 @@ class Net::HTTP::Persistent
224
224
  connection.start
225
225
  end
226
226
 
227
+ if Socket.const_defined? :TCP_NODELAY then
228
+ socket = connection.instance_variable_get :@socket
229
+ socket.io.setsockopt Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1
230
+ end
231
+
227
232
  connection
228
233
  rescue Errno::ECONNREFUSED
229
234
  raise Error, "connection refused: #{connection.address}:#{connection.port}"
@@ -7,9 +7,17 @@ class Net::HTTP
7
7
  alias orig_connect connect
8
8
 
9
9
  def connect
10
- return unless use_ssl?
10
+ unless use_ssl? then
11
+ io = Object.new
12
+ def io.setsockopt(*a) @setsockopt = a end
13
+
14
+ @socket = Net::BufferedIO.new io
15
+
16
+ return
17
+ end
11
18
 
12
19
  io = open '/dev/null'
20
+ def io.setsockopt(*a) @setsockopt = a end
13
21
 
14
22
  @ssl_context ||= OpenSSL::SSL::SSLContext.new
15
23
 
@@ -51,9 +59,13 @@ class TestNetHttpPersistent < MiniTest::Unit::TestCase
51
59
  end
52
60
  def finish
53
61
  @finished += 1
62
+ @socket = nil
54
63
  end
55
64
  def start
56
65
  @started += 1
66
+ io = Object.new
67
+ def io.setsockopt(*a) @setsockopt = a end
68
+ @socket = Net::BufferedIO.new io
57
69
  end
58
70
  def reset?
59
71
  @started == @finished + 1
@@ -132,6 +144,15 @@ class TestNetHttpPersistent < MiniTest::Unit::TestCase
132
144
 
133
145
  assert_includes conns.keys, 'example.com:80'
134
146
  assert_same c, conns['example.com:80']
147
+
148
+ socket = c.instance_variable_get :@socket
149
+ expected = if Socket.const_defined? :TCP_NODELAY then
150
+ [Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1]
151
+ else
152
+ nil
153
+ end
154
+
155
+ assert_equal expected, socket.io.instance_variable_get(:@setsockopt)
135
156
  end
136
157
 
137
158
  def test_connection_for_cached
metadata CHANGED
@@ -5,9 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 4
9
- - 1
10
- version: 1.4.1
8
+ - 5
9
+ version: "1.5"
11
10
  platform: ruby
12
11
  authors:
13
12
  - Eric Hodel
@@ -36,57 +35,41 @@ cert_chain:
36
35
  x52qPcexcYZR7w==
37
36
  -----END CERTIFICATE-----
38
37
 
39
- date: 2010-10-13 00:00:00 -07:00
38
+ date: 2011-01-25 00:00:00 -08:00
40
39
  default_executable:
41
40
  dependencies:
42
41
  - !ruby/object:Gem::Dependency
43
- name: rubyforge
42
+ name: minitest
44
43
  prerelease: false
45
44
  requirement: &id001 !ruby/object:Gem::Requirement
46
45
  none: false
47
46
  requirements:
48
47
  - - ">="
49
48
  - !ruby/object:Gem::Version
50
- hash: 7
49
+ hash: 11
51
50
  segments:
52
51
  - 2
53
52
  - 0
54
- - 4
55
- version: 2.0.4
53
+ - 2
54
+ version: 2.0.2
56
55
  type: :development
57
56
  version_requirements: *id001
58
57
  - !ruby/object:Gem::Dependency
59
- name: minitest
58
+ name: hoe
60
59
  prerelease: false
61
60
  requirement: &id002 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ">="
65
64
  - !ruby/object:Gem::Version
66
- hash: 3
65
+ hash: 47
67
66
  segments:
68
- - 1
69
- - 5
67
+ - 2
68
+ - 8
70
69
  - 0
71
- version: 1.5.0
70
+ version: 2.8.0
72
71
  type: :development
73
72
  version_requirements: *id002
74
- - !ruby/object:Gem::Dependency
75
- name: hoe
76
- prerelease: false
77
- requirement: &id003 !ruby/object:Gem::Requirement
78
- none: false
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- hash: 21
83
- segments:
84
- - 2
85
- - 6
86
- - 1
87
- version: 2.6.1
88
- type: :development
89
- version_requirements: *id003
90
73
  description: |-
91
74
  Persistent connections using Net::HTTP plus a speed fix for 1.8. It's
92
75
  thread-safe too!
@@ -102,6 +85,7 @@ extra_rdoc_files:
102
85
  - README.txt
103
86
  files:
104
87
  - .autotest
88
+ - .gemtest
105
89
  - History.txt
106
90
  - Manifest.txt
107
91
  - README.txt
metadata.gz.sig CHANGED
Binary file