It is my understanding - but I may be mistaken here - is that a gRPC “session” is uni directional unless you use streaming (that being said, a server can send unsolicited “responses” - which may be treated like a request to the client- to a client).
My continued confusion is that I believe the standard gRPC session is transient - in that it may close the connection after each request - and it may send a subsequent request to a completely different server, or on a new connection. The only time this is not the case is if the session is in streaming mode.