259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
|
# File 'lib/protocol/http2/connection.rb', line 259
def (frame)
if frame.stream_id == 0
raise ProtocolError, "Cannot receive headers for stream 0!"
end
if stream = @streams[frame.stream_id]
stream.(frame)
if stream.closed?
@streams.delete(stream.id)
end
elsif frame.stream_id > @remote_stream_id
if @streams.count < self.maximum_concurrent_streams
stream = create_stream(frame.stream_id)
stream.(frame)
@remote_stream_id = stream.id
@streams[stream.id] = stream
else
raise ProtocolError, "Exceeded maximum concurrent streams"
end
end
end
|