Cory Benfield
Cory Benfield
If a connection is quiesced remotely (by receiving a GOAWAY frame) and we attempt to open a new stream via a HEADERS frame, we receive a `NoSuchStream` error. This isn't...
We added some `@unchecked Sendable` in #343 because NIOCore hasn't fully adopted `Sendable`. We can make these regular `Sendable` when that's done.
For historical reasons, HPACKHeaders does not pay attention to order or indexability when considering equality and hashability. We should consider whether this is appropriate for this type, or whether we...
Motivation We've spent a long time with an unrolled Huffman-table to optimize the Huffman decoding of HPACK headers. This works well, but because of some limitations in Swift it's been...
When we receive a push promise, we first create the promised stream and then receive the frame. This is fine, but if receiving the frame produces an error (e.g. because...
When a child channel is "closed while open", we deliver any pending reads into the `Channel`: https://github.com/apple/swift-nio-http2/blob/39ed0e753596afadad920e302ae769b28f3a982b/Sources/NIOHTTP2/HTTP2StreamChannel.swift#L818-L821 After that, we actually close the stream: https://github.com/apple/swift-nio-http2/blob/39ed0e753596afadad920e302ae769b28f3a982b/Sources/NIOHTTP2/HTTP2StreamChannel.swift#L823-L829 The problem with this is...
In #214 we deprecated and replaced the old stream channel. When we do a 2.0.0 release, we should remove the old code paths, reducing binary size, compile time, and resolving...
In v2, we should bring the `HTTP2StreamMultiplexer` into the `NIOHTTP2Handler` and integrate them together, rather than having them be separate channel handlers. While it's been a nice design idea to...
We should ensure that this doesn't keep happening.
Given that we require users to use stuff from NIOHPACK, we should probably make it a product so that SwiftPM packages can depend on it.