net-http2 0.12.0 → 0.12.1
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.
- checksums.yaml +4 -4
- data/lib/net-http2/client.rb +14 -12
- data/lib/net-http2/stream.rb +0 -3
- data/lib/net-http2/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 451f976b504ea90082e3b543005bfa5acd492d6c
|
4
|
+
data.tar.gz: 08aaf99a27c00e11869b93055f27d6c36a13181a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e2ca697436e974ffb51f42018a75b323aec53ea3a5fb8557d189bdeab5a5763796577e94346795a0f05bf2558071dc741d8e0b7fe2a2e87df04f047faf098a0
|
7
|
+
data.tar.gz: c67502d2c1e67309a43b729f6ccf040fb01e5b6cda05e472bb2afe6f98739968d52f37e45a913e42c35f4cc62dbe9f345af7eac8df8045c99c0ad3b8455ff131
|
data/lib/net-http2/client.rb
CHANGED
@@ -28,7 +28,8 @@ module NetHttp2
|
|
28
28
|
|
29
29
|
def call_async(request)
|
30
30
|
ensure_open
|
31
|
-
|
31
|
+
stream = new_monitored_stream_for request
|
32
|
+
stream.async_call_with request
|
32
33
|
end
|
33
34
|
|
34
35
|
def prepare_request(method, path, options={})
|
@@ -50,14 +51,6 @@ module NetHttp2
|
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
53
|
-
def add_stream_to_monitor(stream)
|
54
|
-
@streams[stream.id] = true
|
55
|
-
end
|
56
|
-
|
57
|
-
def mark_stream_as_closed(stream)
|
58
|
-
@streams.delete(stream.id)
|
59
|
-
end
|
60
|
-
|
61
54
|
private
|
62
55
|
|
63
56
|
def init_vars
|
@@ -70,7 +63,16 @@ module NetHttp2
|
|
70
63
|
end
|
71
64
|
|
72
65
|
def new_stream
|
73
|
-
NetHttp2::Stream.new(
|
66
|
+
NetHttp2::Stream.new(h2_stream: h2.new_stream)
|
67
|
+
end
|
68
|
+
|
69
|
+
def new_monitored_stream_for(request)
|
70
|
+
stream = new_stream
|
71
|
+
|
72
|
+
@streams[stream.id] = true
|
73
|
+
request.on(:close) { @streams.delete(stream.id) }
|
74
|
+
|
75
|
+
stream
|
74
76
|
end
|
75
77
|
|
76
78
|
def ensure_open
|
@@ -78,15 +80,15 @@ module NetHttp2
|
|
78
80
|
|
79
81
|
return if @socket_thread
|
80
82
|
|
83
|
+
main_thread = Thread.current
|
81
84
|
@socket = new_socket
|
82
85
|
|
83
86
|
@socket_thread = Thread.new do
|
84
|
-
|
85
87
|
begin
|
86
88
|
socket_loop
|
87
89
|
rescue Exception => e
|
88
90
|
# socket closed
|
89
|
-
|
91
|
+
main_thread.raise e
|
90
92
|
ensure
|
91
93
|
@socket.close unless @socket.closed?
|
92
94
|
@socket = nil
|
data/lib/net-http2/stream.rb
CHANGED
@@ -3,7 +3,6 @@ module NetHttp2
|
|
3
3
|
class Stream
|
4
4
|
|
5
5
|
def initialize(options={})
|
6
|
-
@client = options[:client]
|
7
6
|
@h2_stream = options[:h2_stream]
|
8
7
|
@headers = {}
|
9
8
|
@data = ''
|
@@ -31,7 +30,6 @@ module NetHttp2
|
|
31
30
|
def async_call_with(request)
|
32
31
|
@request = request
|
33
32
|
@async = true
|
34
|
-
@client.add_stream_to_monitor(self)
|
35
33
|
|
36
34
|
send_request_data
|
37
35
|
end
|
@@ -74,7 +72,6 @@ module NetHttp2
|
|
74
72
|
|
75
73
|
if async?
|
76
74
|
@request.emit(:close, data)
|
77
|
-
@client.mark_stream_as_closed(self)
|
78
75
|
else
|
79
76
|
@mutex.synchronize { @cv.signal }
|
80
77
|
end
|
data/lib/net-http2/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-http2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Ostinelli
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http-2
|