Hi,
My client is behind a firewall and is not allowed to initiate a TCP connection. So, I was wondering if I can do transport-level connection management myself and still use gRPC.
So far, I have thought about 2 approaches. But, I don't know gRPC internals well enough to know if either of those are viable.
1) Using AddInsecureChannelFromFd() on the server side
and CreateInsecureChannelFromFd() on the client side. ( I need secure communication. So, I will have to implement it somehow).
2) Change
TCP Handshaker on the client side to use an existing TCP connection and use
PassiveListener on the server side. I could not find any information about what PassiveListeners are supposed to be but it looks like I can use an existing socket to create an endpoint on the server?
All my code will be in C/C++. I don't mind getting my hands dirty and modifying gRPC source code.
I would really appreciate any feedback on how/if I can do this.
Thanks,
Bhargava