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

4.x: gRPC #5418

Closed
5 tasks done
tomas-langer opened this issue Nov 14, 2022 · 3 comments
Closed
5 tasks done

4.x: gRPC #5418

tomas-langer opened this issue Nov 14, 2022 · 3 comments
Assignees
Milestone

Comments

@tomas-langer
Copy link
Member

tomas-langer commented Nov 14, 2022

Eventually we should have just one gRPC implementation based on Níma (align with current gRPC implementation so user experience is similar)
ProtoMarshaller uses reflection, should be removed if possible.

Need to reconcile with issues identified in #6683

grpc for MP is temporarily removed from the repository, this issue also includes the requirement to bring back the full grpc implementation to Helidon (including client), as well as documentation for grpc.

@tomas-langer tomas-langer changed the title gRPC - eventually we should have just one gRPC implementation based on Níma (align with current gRPC implementation so user experience is similar) 4.x: gRPC Nov 14, 2022
@tomas-langer tomas-langer added task To do grpc 4.x Version 4.x labels Nov 14, 2022
@tomas-langer tomas-langer added this to the 4.0.0 milestone Nov 14, 2022
@tomas-langer tomas-langer self-assigned this Nov 14, 2022
@tomas-langer
Copy link
Member Author

Related to #5323

@barchetta barchetta modified the milestones: 4.0.0, 4.0.0-M2 Apr 17, 2023
@barchetta barchetta added epic and removed task To do labels May 2, 2023
@m0mus m0mus modified the milestones: 4.0.0-M2, 4.x Jul 24, 2023
@barchetta barchetta modified the milestones: 4.x, 4.1.0 Nov 14, 2023
@rbair23
Copy link

rbair23 commented May 29, 2024

@tomas-langer, I have a need for an alternative gRPC implementation. We have written a lightweight, zero dependency*, fast protobuf library called PBJ which can be used instead of protoc and grpc.io libraries. I started a Helidon module for PBJ: hashgraph/pbj#257.

One of the questions I am being asked is whether we can reuse chunks of the official Helidon gRPC module, rather than reimplementing all of it. TBH, I'd rather contributor to your impl than have my own. I just need a convenient way to swap out the grpc.io dependencies for PBJ ones.

I went through the code, and I don't see much opportunity for reuse. GrpcProtocolHandler is very grpc.io specific, from the compression/decompression to observers and the rest. In this case, I think the best path is for me to continue with a separate implementation.

Thoughts?

@spericas
Copy link
Member

@rbair23 Yes, we currently depend on those libraries. Perhaps we can think about creating an SPI to plugin either protoc/grpc.io or a library like yours. This was clearly not a design goal for us at this time, but perhaps something like that can be considered going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

5 participants