'Checks if this policy allows exiting to a given destination or not. If the
address or port is omitted then this will check if we\'re allowed to exit to
any instances of the defined address or port.
:param str address: IPv4 or IPv6 address (with or without brackets)
:param int port: port number
:param bool strict: if the address or port is excluded then check if we can
exit to **all** instances of the defined address or port
:returns: **True** if exiting to this destination is allowed, **False** otherwise'

@lru_cache()
def can_exit_to(self, address=None, port=None, strict=False):

    for rule in self._get_rules():
        if rule.is_match(address, port, strict):
            return rule.is_accept
    return self._is_allowed_default
