Skip to content

Conversation

Mr3zee
Copy link
Member

@Mr3zee Mr3zee commented Aug 5, 2025

Subsystem
Compiler Plugin, gRPC

Problem Description
We have all platform bindings for the gRPC, but no service generation

Solution
Add service generations and a MessageCodec locator:

  • Use MessageCodecResolver in GrpcClient/GrpcServer
  • Or annotate your message with WithCodec annotation (default for protobuf messages)

And we now have fully working gRPC services with arbitrary serilization.

For next PRs:

  • FIR checkers
  • Method metadata

@Mr3zee Mr3zee requested review from Jozott00 and e5l August 5, 2025 22:07
@Mr3zee Mr3zee self-assigned this Aug 5, 2025
@Mr3zee Mr3zee added the feature New feature or request label Aug 5, 2025
Copy link
Member

@e5l e5l left a comment

Choose a reason for hiding this comment

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

please check comments


public fun <R> callServerStreaming(rpcCall: RpcCall): Flow<R>
}
//@ExperimentalRpcApi
Copy link
Member

Choose a reason for hiding this comment

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

please drop commented code

value = value,
)

private fun IrType.unwrapFlow(): IrType {
Copy link
Member

Choose a reason for hiding this comment

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

The class is huge. Please check what can be extracted as utility methods

Copy link
Member Author

Choose a reason for hiding this comment

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

I still think that one big file is better DX, for the current size at least.
And while I'm the only person making bug changes here, I'd like to have like this. I have in mind splitting it, but only when it's size becomes an issue during the development

@Mr3zee Mr3zee merged commit d9a0cd3 into grpc-common Aug 6, 2025
2 of 3 checks passed
@Mr3zee Mr3zee deleted the grpc-services branch August 6, 2025 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants