def METHOD_NAME(self):
    """Trigger at least one call to handle_write() if can_write is True.
    Used to start writing to a client not triggered by a client request.
    """
    assert not self._closed
    write_buffer = bytearray()
    def can_write_cb(sock, flags, *args):
        if flags & (GLib.IOCondition.HUP | GLib.IOCondition.ERR):
            self.close()
            return False
        if flags & GLib.IOCondition.OUT:
            if self.can_write():
                write_buffer.extend(self.handle_write())
            if not write_buffer:
                self._out_id = None
                return False
            while True:
                try:
                    result = sock.send(write_buffer)
                except (IOError, OSError) as e:
                    if e.errno in (errno.EWOULDBLOCK, errno.EAGAIN):
                        return True
                    elif e.errno == errno.EINTR:
                        continue
                    else:
                        self.close()
                        return False
                break
            del write_buffer[:result]
        return True
    if self._out_id is None:
        self._out_id = io_add_watch(
            self._sock, GLib.PRIORITY_DEFAULT,
            GLib.IOCondition.OUT | GLib.IOCondition.ERR |
            GLib.IOCondition.HUP,
            can_write_cb)