code: def send(self, request):
          
          if self.call is None:
              raise ValueError("Can not send() on an RPC that has never been open()ed.")
  
          # Don't use self.is_active(), as ResumableBidiRpc will overload it
          # to mean something semantically different.
          if self.call.is_active():
              self._request_queue.put(request)
          else:
              # calling next should cause the call to raise.
              next(self.call)
docs: Queue a message to be sent on the stream.
  
          Send is non-blocking.
  
          If the underlying RPC has been closed, this will raise.
  
          Args:
              request (protobuf.Message): The request to send.