class Protocol::HTTP2::Priority
present if the PRIORITY flag is set.
this stream depends on (see Section 5.3). This field is only
Stream Dependency: A 31-bit stream identifier for the stream that
def self.default(stream_dependency = 0, weight = 16)
def self.default(stream_dependency = 0, weight = 16) self.new(false, stream_dependency, weight) end
def self.unpack(data)
def self.unpack(data) stream_dependency, weight = data.unpack(FORMAT) # Weight: An unsigned 8-bit integer representing a priority weight for the stream (see Section 5.3). Add one to the value to obtain a weight between 1 and 256. This field is only present if the PRIORITY flag is set. return self.new(stream_dependency & EXCLUSIVE != 0, stream_dependency & ~EXCLUSIVE, weight + 1) end
def pack
def pack if exclusive stream_dependency = self.stream_dependency | EXCLUSIVE else stream_dependency = self.stream_dependency end return [stream_dependency, self.weight - 1].pack(FORMAT) end
def weight= value
def weight= value if VALID_WEIGHT.include?(value) super else raise ArgumentError, "Weight #{value} must be between 1-256!" end end