Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose ConnectionManager for use in Oracle Cloud Netty client #9073

Merged
merged 1 commit into from
Apr 10, 2023

Conversation

yawkat
Copy link
Member

@yawkat yawkat commented Apr 6, 2023

This PR exposes some ConnectionManager APIs in the netty http client so that I can use them to implement connection pooling in oraclecloud-httpclient-netty. Unfortunately OCI is still peculiar about how requests are processed so the client cannot be implemented with the normal Micronaut HTTP client API, but ConnectionManager offers a good enough API to make use of the basic HTTP stack (SSL, HTTP2/HTTP3...) and connection pooling.

ConnectionManager did change a bit in 4.0.x, and connection pooling for oraclecloud-httpclient-netty isn't super urgent, which is why this PR is targeted to 4.0.x.

In local testing these changes in micronaut-core are sufficient to implement the pooling client. I need to do more thorough testing though.

@yawkat yawkat requested review from timyates and graemerocher April 6, 2023 11:22
@sonarqubecloud
Copy link

sonarqubecloud bot commented Apr 6, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

*
* @return The connection manager of this client
*/
public ConnectionManager connectionManager() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Annotate with @NonNull the return type?

@graemerocher graemerocher merged commit 4b590ff into 4.0.x Apr 10, 2023
@graemerocher graemerocher deleted the expose-cm branch April 10, 2023 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants