code: def send(self, message):
          
          message = message.SerializeToString()
          self.socket.sendall(struct.pack('!I', len(message)) + message)
  
          length = struct.unpack('!I', self.socket.recv(4))[0]
          response = riemann_client.riemann_pb2.Msg()
          response.ParseFromString(socket_recvall(self.socket, length))
  
          if not response.ok:
              raise RiemannError(response.error)
  
          return response
docs: Sends a message to a Riemann server and returns it's response
  
          :param message: The message to send to the Riemann server
          :returns: The response message from Riemann
          :raises RiemannError: if the server returns an error