net-http2 0.12.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e3f05adbbbbe99f8eb15097186a59db80eb66042
4
- data.tar.gz: e22193008420db5d3dffffab3a39ba73eff062df
3
+ metadata.gz: 451f976b504ea90082e3b543005bfa5acd492d6c
4
+ data.tar.gz: 08aaf99a27c00e11869b93055f27d6c36a13181a
5
5
  SHA512:
6
- metadata.gz: 8ede872c9f2ed793b385354507dd0bc0dc4bb66fef127afa673eddb005e19125342faf94b977cd1994803b239b36425ebbe40bee044bdf1e82d1343d9051b21a
7
- data.tar.gz: 2e4e48b32df8d4860590d155b15d4bfd363a8f10d27897ab2ff3643c7a93827ff10fd40b7bdfe2be0a9c3bd7ffb11df45981053e34140f894e0c9273294f6303
6
+ metadata.gz: 9e2ca697436e974ffb51f42018a75b323aec53ea3a5fb8557d189bdeab5a5763796577e94346795a0f05bf2558071dc741d8e0b7fe2a2e87df04f047faf098a0
7
+ data.tar.gz: c67502d2c1e67309a43b729f6ccf040fb01e5b6cda05e472bb2afe6f98739968d52f37e45a913e42c35f4cc62dbe9f345af7eac8df8045c99c0ad3b8455ff131
@@ -28,7 +28,8 @@ module NetHttp2
28
28
 
29
29
  def call_async(request)
30
30
  ensure_open
31
- new_stream.async_call_with request
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(client: self, h2_stream: h2.new_stream)
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
- Thread.main.raise e
91
+ main_thread.raise e
90
92
  ensure
91
93
  @socket.close unless @socket.closed?
92
94
  @socket = nil
@@ -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
@@ -1,3 +1,3 @@
1
1
  module NetHttp2
2
- VERSION = "0.12.0"
2
+ VERSION = "0.12.1"
3
3
  end
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.0
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-28 00:00:00.000000000 Z
11
+ date: 2016-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http-2