Class: Protocol::HTTP2::Server
Instance Attribute Summary
Attributes inherited from Connection
#dependencies, #dependency, #framer, #local_settings, #local_window, #remote_settings, #remote_stream_id, #remote_window, #state, #streams
Instance Method Summary
collapse
Methods inherited from Connection
#[], #accept_stream, #client_stream_id?, #close, #close!, #closed?, #closed_stream_id?, #consume_window, #create_push_promise_stream, #create_stream, #decode_headers, #delete, #encode_headers, #id, #idle_stream_id?, #ignore_frame?, #maximum_concurrent_streams, #maximum_frame_size, #next_stream_id, #open!, #process_settings, #read_frame, #receive_continuation, #receive_data, #receive_frame, #receive_goaway, #receive_headers, #receive_ping, #receive_priority, #receive_push_promise, #receive_reset_stream, #receive_settings, #receive_window_update, #send_goaway, #send_ping, #send_priority, #send_settings, #server_stream_id?, #synchronize, #update_local_settings, #update_remote_settings, #write_frame, #write_frames
#available_frame_size, #available_size, #consume_local_window, #consume_remote_window, #receive_window_update, #request_window_update, #send_window_update, #update_local_window, #window_updated
Constructor Details
#initialize(framer) ⇒ Server
Returns a new instance of Server.
11
12
13
|
# File 'lib/protocol/http2/server.rb', line 11
def initialize(framer)
super(framer, 2)
end
|
Instance Method Details
#accept_push_promise_stream(stream_id, &block) ⇒ Object
43
44
45
|
# File 'lib/protocol/http2/server.rb', line 43
def accept_push_promise_stream(stream_id, &block)
raise ProtocolError, "Cannot accept push promises on server!"
end
|
#enable_push? ⇒ Boolean
47
48
49
|
# File 'lib/protocol/http2/server.rb', line 47
def enable_push?
@remote_settings.enable_push?
end
|
#local_stream_id?(id) ⇒ Boolean
15
16
17
|
# File 'lib/protocol/http2/server.rb', line 15
def local_stream_id?(id)
id.even?
end
|
#read_connection_preface(settings = []) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/protocol/http2/server.rb', line 27
def read_connection_preface(settings = [])
if @state == :new
@framer.read_connection_preface
send_settings(settings)
read_frame do |frame|
unless frame.is_a? SettingsFrame
raise ProtocolError, "First frame must be #{SettingsFrame}, but got #{frame.class}"
end
end
else
raise ProtocolError, "Cannot read connection preface in state #{@state}"
end
end
|
#remote_stream_id?(id) ⇒ Boolean
19
20
21
|
# File 'lib/protocol/http2/server.rb', line 19
def remote_stream_id?(id)
id.odd?
end
|
#valid_remote_stream_id?(stream_id) ⇒ Boolean
23
24
25
|
# File 'lib/protocol/http2/server.rb', line 23
def valid_remote_stream_id?(stream_id)
stream_id.odd?
end
|