class Protocol::HTTP2::PushPromiseFrame

The PUSH_PROMISE frame is used to notify the peer endpoint in advance of streams the sender intends to initiate. The PUSH_PROMISE frame includes the unsigned 31-bit identifier of the stream the endpoint plans to create along with a set of headers that provide additional context for the stream.

--------------- |Pad Length? (8)| -————------------------------------------------------ |R| Promised Stream ID (31) | -—————————–------------------------------- | Header Block Fragment (*) … --------------------------------------------------------------- | Padding (*) … ---------------------------------------------------------------

Constants

FORMAT
TYPE

Public Instance Methods

apply(connection) click to toggle source
# File lib/protocol/http2/push_promise_frame.rb, line 57
def apply(connection)
        connection.receive_push_promise(self)
end
pack(stream_id, data, *arguments, **options) click to toggle source
Calls superclass method Protocol::HTTP2::Frame#pack
# File lib/protocol/http2/push_promise_frame.rb, line 53
def pack(stream_id, data, *arguments, **options)
        super([stream_id].pack(FORMAT) + data, *arguments, **options)
end
unpack() click to toggle source
Calls superclass method Protocol::HTTP2::Frame#unpack
# File lib/protocol/http2/push_promise_frame.rb, line 45
def unpack
        data = super
        
        stream_id = data.unpack1(FORMAT)
        
        return stream_id, data.byteslice(4, data.bytesize - 4)
end