Hello,
After taking the time to think a little bit about
the problem I had some time ago, I got a little bit deeper and come up with a possible idea of approaching a general solution to these kind of problems.
I'm not creating a new transport, i'm just asking if it would be possible to add a way to inject a low level read-write interface to the gRPC library so that it would be possible to solve lots of 1-1 cases like:
- gRPC over Websocket: To avoid firewall and create a one to one communication with an edge gateway.
- gRPC over Bluetooth: To communicate with an IoT (edge or constrained-device) and get/set/* parameters on it.
- gRPC over WhateverLowLevelTransportYouCanThinkOf: Industrial ones like CAN, Modbus, ...
But, as far as I know, there is no easy way (forking the library and modifying it is not an option!) to get this done in other languages like ObjC or Java. I think that this could be achieved in C by doing socketpair+grpc_insecure_channel_create_from_fd with a custom middleware that does the translating job.
So my question is, how do you community people see the possibility to open up the API (in *all* languages), in a generalised way, so that we can inject our own read-write full-duplex interface and create a wide range of 1-1 connection possibilities?