darvld / krpc Goto Github PK
View Code? Open in Web Editor NEWAn idiomatic Kotlin gRPC library.
License: Apache License 2.0
An idiomatic Kotlin gRPC library.
License: Apache License 2.0
Allow the users to generate only certain components or exclude them using KSP options. Some examples:
-client
: Generate only client implementation (includes descriptor)-strict
: Generate strictly the specified components (when using -client
descriptor will not be generated)Currently, enabling KSP's incremental setting causes the compiler to stop geneating code. We need proper support for incremental processing.
The lates KSP release introduced experimental multiplatform support (except for Kotlin/Native). We could try to add it as well, since the final goal is to create a Kotlin Multiplatform implementation of gRPC.
Currently, @UnaryCall
and @ServerStream
calls must have only one argument (the request). We can add support for multiple arguments by wrapping them in a generated data class.
The current implementation will fail to generate services with methods using generic types (other than Flow with T being non-generic).
To fix this, the generated Marshaller
instances must be obtained differently when the type is generic (add a new method to SerializationProvider
).
There are currently no tests at all. We need to completely test the processor and the runtime before we can call this a serious project.
Both client and server implementations should provide suspending shutdown()
and join()
method families to allow for a more idiomatic way of closing their channels. Right now it must be done manually by calling shutdown()
and yielding until isTerminated
returns true.
Currently request and response types not marked as @Serializable
will raise a runtime error. Is there a way to check this in the compiler?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.