xref: /aosp_15_r20/external/aws-sdk-java-v2/docs/design/http-clients/aws-crt-client/DecisionLog.md (revision 8a52c7834d808308836a99fc2a6e0ed8db339086)
1*8a52c783SCole Faust# Decision Log for AWS CRT HTTP Client
2*8a52c783SCole Faust
3*8a52c783SCole FaustNote: The decision log process was implemented late in this project, so decisions earlier than 8/24/20 are not included
4*8a52c783SCole Faustbelow.
5*8a52c783SCole Faust
6*8a52c783SCole Faust## Log Entry Template
7*8a52c783SCole Faust
8*8a52c783SCole Faust**Source:** (Meeting/aside/pair programming discussion/daily standup) to (discuss/implement) X
9*8a52c783SCole Faust
10*8a52c783SCole Faust**Attendees:** Anna-Karin, Ben, Dongie, Irene, Matt, Nico, Vinod, John, Zoe
11*8a52c783SCole Faust
12*8a52c783SCole Faust**Closed Decisions:**
13*8a52c783SCole Faust
14*8a52c783SCole Faust1. Question? Decision. Justification.
15*8a52c783SCole Faust
16*8a52c783SCole Faust**Open Decisions:**
17*8a52c783SCole Faust
18*8a52c783SCole Faust1. (Old/Reopened/New) Question?
19*8a52c783SCole Faust
20*8a52c783SCole Faust## 8/24/20
21*8a52c783SCole Faust
22*8a52c783SCole Faust**Source:** Meeting to review the API surface-area of [AWS CRT HTTP Client](https://github.com/aws/aws-sdk-java-v2/tree/aws-crt-dev-preview/http-clients)
23*8a52c783SCole Faust
24*8a52c783SCole Faust**Attendees:** Anna-Karin, Ben, Dongie, John, Matt, Nico, Vinod, Zoe
25*8a52c783SCole Faust
26*8a52c783SCole Faust**Closed Decisions:**
27*8a52c783SCole Faust
28*8a52c783SCole Faust1. We should add the static factory `create` methods in all HTTP Clients. It's convenient and consistent.
29*8a52c783SCole Faust2. We should make the configuration classes we expose follow our SDK conventions to be consistent with what we do elsewhere
30*8a52c783SCole Faust3. We should consider renaming `initialWindowSize` because it can be confused with HTTP/2 initial window size. Possible option:
31*8a52c783SCole Faust`readBufferSize`
32*8a52c783SCole Faust4. We should consider renaming `httpMonitoringOptions` because it does more than monitoring. Possible option: `connectionHealthConfig`
33*8a52c783SCole Faust5. We should add the service loader class. It's consistent with the way other HTTP clients work and it'll be backwards incompatible to add one later
34*8a52c783SCole Faust6. We should test and support cancelling the HTTP request futures. It's supported in the Netty Http Client
35*8a52c783SCole Faust7. Follow up on the features that are yet to be supported (post-preview)
36*8a52c783SCole Faust   1. Proxy TLS trust store configuration & TLS mutual auth
37*8a52c783SCole Faust   2. HTTP/2 support
38*8a52c783SCole Faust   3. Exposing connection pooling metrics
39*8a52c783SCole Faust
40*8a52c783SCole Faust**Open Decisions:**
41*8a52c783SCole Faust
42*8a52c783SCole FaustNone