Git Product home page Git Product logo

Comments (7)

nmittler avatar nmittler commented on August 27, 2024

Eric, if we adopted the reactive streams API would some of the differences between client and server at the API-level disappear? I suspect not entirely, but it's probably worth some thought ... it would be great if "Call" (or something else) was used on both ends.

from grpc-java.

ejona86 avatar ejona86 commented on August 27, 2024

Based on your preliminary designs, it seemed that we would have "producer" and "consumer" classes/interfaces that would possibly just be swapped between client and server. So yes, it is possible this just goes away to some extent.

from grpc-java.

nmittler avatar nmittler commented on August 27, 2024

That would seem to me to be an advantage of adopting that API ... WDYT?

from grpc-java.

ejona86 avatar ejona86 commented on August 27, 2024

Yes, but I strongly question how much concrete benefit we would get from it. The only thing I can think of that would make use it is tying client and server directly together without Channel/Server during testing.

Earlier in the API design we said we weren't going to limit ourselves to using the same API on both sides because of its limited value and strong restriction. I think that is still true. If we can get away with using the same API, great, but it shouldn't limit the design and there are many other attributes of an API that are more important.

from grpc-java.

nmittler avatar nmittler commented on August 27, 2024

Agreed, having the same interfaces on client and server is a non-goal. Just thought I might try to complicate this discussion by shouting "Reactive Streams!" :)

from grpc-java.

nmittler avatar nmittler commented on August 27, 2024

@ejona86 should we just close this? If we want to pick this discussion back up we could do it in another issue. WDYT?

from grpc-java.

ejona86 avatar ejona86 commented on August 27, 2024

No, we still need it. We aren't consistent at the moment.

from grpc-java.

Related Issues (20)

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.