Comments (7)
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.
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.
That would seem to me to be an advantage of adopting that API ... WDYT?
from grpc-java.
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.
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.
@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.
No, we still need it. We aren't consistent at the moment.
from grpc-java.
Related Issues (20)
- Many DirectByteBuffer with high capacity when use netty shaded client HOT 9
- Add close method with Throwable parameter to ServerCall HOT 2
- ManagedChannelImpl.getState(boolean requestConnection) always return IDLE
- Intermittent MessageFramer errors: Failed to frame message HOT 2
- Add possibility to set connect timeout on ManagedChannelBuilder HOT 5
- Difference between adding an interceptor over a Channel vs over a Stub HOT 2
- java.io.IOException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception HOT 2
- Unexpected request cancellations after upgrading gRPC-Java HOT 4
- io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueue off-heap memory leak. Please help analyze it HOT 4
- Server side: OutOfDirectMemoryError HOT 5
- Getting gRPC unavailable during services rollout when using client side gRPC load balancing HOT 6
- [xDS] Client side Istio proxy fails to connect if gRPC server does not use netty-tcnative HOT 4
- How to close the netty thread named grpc-default-worker-ELG? HOT 3
- manjaro linux Unknown option: --proto_path HOT 3
- What does it mean when GRPC call fails with DEADLINE_EXCEEDED and waiting for connection HOT 2
- Does grpc-java fully supports openjdk 11 HOT 2
- What does "length" means in i.g.n.NettyClientHandler INBOUND DATA HOT 2
- GRPC Java MAX_CONCURRENT_STREAMS vs maxConcurrentCallsPerConnection HOT 1
- BinderChannel: allow kotlinx.serialization as protobuf alternative HOT 2
- Found one potential memory leak logic
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grpc-java.