Comments (4)
I still do not understand why you require an interceptor ... It was deliberate to abandon interceptor in our design.
from grpc-go.
NP. Let me try to explain better.
In TCP socket, we send bytes:
send(b []byte)
Now that we have protobuf and grpc, we want to send messages instead.
send(msg proto.Message)
The send(msg) API is provided by the framework, and message should be defined by user.
I wonder how can we do it efficiently without letting user define msg/rpc on their own?
from grpc-go.
pls tell me how interceptors can help you address this issue?
We typically provide send(b []byte) to users instead of send(proto.Message)
which provides more flexibility and the framework should not care what
users will to transmit.
If you are thinking about the encoding efficiency (e.g., memory alloc and
string copying), I think it is the work of protobuf should take care of.
And I guess it is doable but it does not do because it will introduce
tremendous complexity regarding memory model.
On Mon, May 11, 2015 at 1:55 PM, Hongchao Deng [email protected]
wrote:
NP. Let me try to explain better.
In TCP socket, we send bytes:
send(b []byte)
Now we have protobuf and grpc, we want to send messages instead.
send(msg proto.Message)
The send(msg) API is provided by the framework, and message should be
defined by user.I wonder how can we do it efficiently without letting user define msg/rpc
on their own?—
Reply to this email directly or view it on GitHub
#187 (comment).
from grpc-go.
I guess calling Invoke(...) directly can fit your needs?
from grpc-go.
Related Issues (20)
- Flaky test: 6/100K: Test/LRSClient HOT 2
- Docs: Document how to migrate from `Dial, DialContext, WithBlock, WithReturnConnectionError, FailOnNonTempDialError` to `NewClient` HOT 3
- Stop supporting 3 releases of Go HOT 2
- <invalid gRPC request method "PRI">, when happend grpc and http use sample port HOT 2
- It seems that there is a memory leak issue in the HandleStreams function. HOT 13
- When the client receives the "too many pings" error log, how to get the server's target or remoteIP information? HOT 2
- Improve the xDS bootstrap package HOT 2
- xds/bootstrap: `client_features` should be set completely by the client implementation HOT 1
- License File seems to be missing the name of copyright owner HOT 2
- Why is the service config passed as a JSON-String just to get converterted to a struct anyway? HOT 7
- Cardinality violations should use error code “unimplemented” HOT 2
- GitHub Action: branch protection checks are skipped, and also not blocking merges HOT 3
- grpc.NewClient with namedpipe on Windows throws resolverError HOT 2
- User agent becomes grpc-go/1.64. on server side of grpc gateway HOT 2
- xds: move functionality from `xds/internal` to `internal/xds`
- stubserver: add support to optionally pass in a `grpc.Server` or `xds.GRPCServer` HOT 2
- Github Action: Codecov action is broken and is failing silently HOT 1
- Upgrade to using math/rand/v2 to get perf enhancements HOT 2
- xds: tests shouldn't rely on the presence of an entry in the `authorities` field of the bootstrap configuration with an empty key
- Experimental API related to metadata HOT 4
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-go.