Class: Protocol::HTTP2::PriorityFrame

Inherits:
Frame
  • Object
show all
Defined in:
lib/protocol/http2/priority_frame.rb

Overview

The PRIORITY frame specifies the sender-advised priority of a stream. It can be sent in any stream state, including idle or closed streams.

-————————————————————-+ |E| Stream Dependency (31) | -————------------------------------------------------ | Weight (8) | -————-+

Constant Summary collapse

TYPE =
0x2

Constants inherited from Frame

Frame::HEADER_FORMAT, Frame::LENGTH_HISHIFT, Frame::LENGTH_LOMASK, Frame::STREAM_ID_MASK, Frame::VALID_LENGTH, Frame::VALID_STREAM_ID

Instance Attribute Summary

Attributes inherited from Frame

#flags, #length, #payload, #stream_id, #type

Instance Method Summary collapse

Methods inherited from Frame

#<=>, #clear_flags, #connection?, #flag_set?, #header, #initialize, #inspect, parse_header, #read, #read_header, #set_flags, #to_ary, #valid_type?, #write, #write_header, #write_payload

Constructor Details

This class inherits a constructor from Protocol::HTTP2::Frame

Instance Method Details

#apply(connection) ⇒ Object



88
89
90
# File 'lib/protocol/http2/priority_frame.rb', line 88

def apply(connection)
	connection.receive_priority(self)
end

#pack(priority) ⇒ Object



80
81
82
# File 'lib/protocol/http2/priority_frame.rb', line 80

def pack priority
	super priority.pack
end

#priorityObject



76
77
78
# File 'lib/protocol/http2/priority_frame.rb', line 76

def priority
	Priority.unpack(@payload)
end

#read_payload(stream) ⇒ Object



92
93
94
95
96
97
98
# File 'lib/protocol/http2/priority_frame.rb', line 92

def read_payload(stream)
	super
	
	if @length != 5
		raise FrameSizeError, "Invalid frame length"
	end
end

#unpackObject



84
85
86
# File 'lib/protocol/http2/priority_frame.rb', line 84

def unpack
	Priority.unpack(super)
end