Code Monkey home page Code Monkey logo

krpc's People

Contributors

codacy-badger avatar code-factor avatar darvld avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

krpc's Issues

Support requests and responses using generic types.

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).

Selective component generation (using KSP options)

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)

Support incremental KSP processing.

Currently, enabling KSP's incremental setting causes the compiler to stop geneating code. We need proper support for incremental processing.

Add tests

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.

Multiplatform support

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.

Better coroutine support in client and server components.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.