title: Can both ends of a gRPC connection accept method calls?
body: <p>From the <a href="https://github.com/grpc/grpc-common#what-is-grpc" rel="noreferrer">introduction on gRPC</a>:</p>
  
  <blockquote>
    <p>In gRPC a <em>client</em> application can directly call methods on a <em>server</em> application on a different machine as if it was a local object, making it easier for you to create distributed applications and services. As in many RPC systems, gRPC is based around the idea of defining a <em>service</em>, specifying the methods that can be called remotely with their parameters and return types. On the server side, the server implements this interface and runs a gRPC server to handle client calls. On the client side, the client has a <em>stub</em> that provides exactly the same methods as the server. </p>
  </blockquote>
  
  <p>The above paragraph talks about a client and a server, with the former being the one who is invoking methods to the other. What am I wondering is: can the server-end of the connection invoke methods that have been registered on the client?</p>