Send a message to another process.

    Sending messages is done asynchronously and is not guaranteed to succeed.

    Returns immediately.

    :param to: The pid of the process to send a message.
    :type to: :class:`PID`
    :param method: The method/mailbox name of the remote method.
    :type method: ``str``
    :keyword body: The optional content to send with the message.
    :type body: ``bytes`` or None
    :raises: Will raise a ``Process.UnboundProcess`` exception if the
             process is not bound to a context.
    :return: Nothing

def send(self, to, method, body=None):
    """Send a message to another process.

    Sending messages is done asynchronously and is not guaranteed to succeed.

    Returns immediately.

    :param to: The pid of the process to send a message.
    :type to: :class:`PID`
    :param method: The method/mailbox name of the remote method.
    :type method: ``str``
    :keyword body: The optional content to send with the message.
    :type body: ``bytes`` or None
    :raises: Will raise a ``Process.UnboundProcess`` exception if the
             process is not bound to a context.
    :return: Nothing
    """
    self._assert_bound()
    self._context.send(self.pid, to, method, body)