Bryce Anderson

Results 31 issues of Bryce Anderson

https://github.com/http4s/blaze/blob/c87ff657dc49fd68267ec70faf0389260f988104/core/src/main/scala/org/http4s/blaze/pipeline/stages/SSLStage.scala#L329 I think this isn't ever hit in practice as the handshake happens almost universally in the `syncWrite` path and the read path.

bug

Currently we can only use NIO2 for clients because we don't have a way to hook client sockets into the `SelectorLoop`.

enhancement

The current pipeline structure is pull-based with read and write operations returning futures, so in some ways, they are like a version of a socket that return a Future instead...

API Change
Code Cleanup

Nothing failed, so I suspect this is a racy shutdown: ``` 16:14:21.837 [anInnocuousThread] ERROR org.http4s.blaze.util.Execution - Trampoline EC Exception caught java.lang.IllegalStateException: Promise already completed. at scala.concurrent.Promise.complete(Promise.scala:49) at scala.concurrent.Promise.complete$(Promise.scala:48) at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:183)...

bug

The current pipeline model is a pull-based pipeline model which brings some tradeoffs. **Pros** - Clear semantics for backpressure - Intuitive usage pattern **Cons** - `Promise`s at each stage of...

Right now there is little shared between the HTTP/1.x and HTTP/2 dispatch models since the greatest common denominator is `ByteBuffer`. We might be able to consolidate some stuff by turning...

H2
API Change

It was originally intended to be a hint as to 'size' but obviously that isn't universally meaningful and as such has devolved into being truly meaningless in practice. We should...

API Change

Generally speaking, the user doesn't really care much about the HTTP version outside of detecting capabilities. Right now, we don't have a way to leverage protocol specific features. Both of...

The session contains much of the important information that folks need in the context of metrics, so blaze should have some level of abstraction to facilitate this.

Draining is a pretty nice feature to have since it allows you to avoid a bunch of errors that occur during cluster roles that happen do to abruptly dropped connections....

enhancement