forked from igrigorik/http-2
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Converted this issue's goal to h2-14 (Sep 5, 2014). Last update Sep 16, 2014.
MUST
- HPACK-09
- Static table change
- Huffman code change
- Switch static/header table index order
- Remove reference set
- Emit context update after SETTINGS_HEADER_TABLE_SIZE
- Framer
- 24-bit frame size
- Default max frame size is 16384, not 16383
- Setting identifier is now 16-bit
- Remove PAD_HIGH, padding in CONTINUATION
- Allow extension frames, extension settings
- Check incoming frame format
- Settings handling
- Add SETTINGS_MAX_HEADER_LIST_SIZE
- Add SETTINGS_MAX_FRAME_SIZE
- Default max frame size is now 16384 (not 16383)
- Separate settings for self and peer
- Wait for SETTINGS ack
- Suspend next outgoing frame until ack
- Stream, Connection
- Stream statemachine
- PRIORITY after stream close allowed
- Represent waiting CONTINUATION with either a flag or statemachine states
- Headers splitting/continuation (DATA, HEADERS, PUSH_PROMISE)
- Remove handling header fields with multiple values
- Pseudo headers at the beginning
- Remove END_SEGMENT
- Separate counting of concurrent streams between self- and peer- initiated
- Multiplex outgoing streams
- Trailing HEADER handling
- Allow incoming packet smaller than a frame
- Count separately incoming/outgoing streams
- Flow control
- Separate flow control between incoming and outgoing traffic
- Better frame sizing for stream- and connection- level window
- Better frame sizing by combining flow control and max frame size handling
- Emit WINDOW_UPDATE after processing received DATA (maybe app layer's job)
- Error handling
- correctly generate outgoing connection/stream error
- correctly handle incoming connection/stream error
- Stream statemachine
- Client, Server
Nice to have
- Starting HTTP/2
- NPN
- ALPN
- Upgrade
- Integration with HTTP/1.1
- Drop-in replacement wrapper for HTTPClient
- Drop-in replacement wrapper for NET::HTTP
- Adapter for Rack (or Webrick)
- Integration with ruby-eventmachine
- Priority handling
- Implement dependency tree
- Implement weights
- Proxy
- CONNECT method
- Rare cases
- GOAWAY to prevent stream_id overflow
- 2-phase GOAWAY (stream id 2^31-1)
- content-length vs DATA length check (beware of HEAD response)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels