SendMsg blocks until it sends m, the stream is done or the stream breaks. On error, it aborts the stream and returns an RPC status on client side. On server side, it simply returns the error to the caller. SendMsg is called by generated code. Also Users can call SendMsg directly when it is really needed in their use cases.