HTTP/2 client has no frame-type throttle

Đang mở
#1,393 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@pjfanning đang làm issue này rồi.

Từ ngày 3/11/2026.

  • #1394 của @pjfanning — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
57/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
scala
Lĩnh vực
backend-api-design

Hướng nghiên cứu

Start by reading Http2Blueprint.serverStack, Http2Blueprint.clientStack, and the existing server setting pekko.http.server.http2.frame-type-throttle; inspect the referenced work in #332 and #1265 for aliases and defaults. Add the client setting and connect the throttle in the client stack using the shared frame-cost logic. Done means client peers can be rate-limited by frame type with documented defaults and tests covering configuration and throttling.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

The HTTP/2 server stack can rate-limit incoming frames by type through pekko.http.server.http2.frame-type-throttle (#332). Http2Blueprint.serverStack inserts the throttle between framing and HPACK. Http2Blueprint.clientStack has no equivalent, and there is no client-side setting for one.

It would be useful for the client to have the same option, for parity with the server and for users who want tighter limits on what a peer can send.

Possible approach:

  • Add pekko.http.client.http2.frame-type-throttle with the same frame-types, cost, burst and interval settings and the same aliases.
  • Reuse Http2Blueprint.frameCost and the throttle bidi in clientStack.
  • Choose a default. ["empty-data-no-end-stream"] (#1265) is probably a reasonable starting point. Including reset could fail connections when a server refuses many streams (REFUSED_STREAM).

Refs #332, #1265

Ngôn ngữ chính
Scala
Star
199
Fork
57
Merge trung bình
1 ngày 20 giờ
Pull request đã merge (30 ngày)
54

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/pekko-http

Tất cả issue của apache/pekko-http

Issue tương tự

Thêm issue về Scala

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.