jetty.project icon indicating copy to clipboard operation
jetty.project copied to clipboard

Fixes #12266 - InvocationType improvements and cleanups.

Open sbordet opened this issue 1 year ago • 1 comments
trafficstars

  • Removed usages of AbstractConnection.getInvocationType().
  • Changed HTTP server-side Connection implementations to use AbstractConnection.fillInterested(Callback) with a callback that specifies the InvocationType, derived from the Server, which derives it from the Handler chain.
  • Changed client-side receivers to use AbstractConnection.fillInterested(Callback) with a callback that specifies the InvocationType, derived from the HttpClientTransport.
  • Introduced HttpClientTransport.getInvocationType(Connection), so that client applications can specify whether they block or not.
  • Made sure client-side HTTP/2 and HTTP/3 return tasks with the proper InvocationType to be run by the ExecutionStrategy when calling application code.
  • HTTP3StreamConnection now uses an EITHER fillable callback to possibly process streams in parallel.
  • QuicStreamEndPoint now uses a task to invoke FillInterest.fillable(), rather than invoking it directly, therefore honoring the InvocationType of callback set by the Connection associated with the QuicStreamEndPoint.

sbordet avatar Sep 23 '24 16:09 sbordet