def _maybe_declare(entity, channel): # _maybe_declare sets name on original for autogen queues orig = entity _ensure_channel_is_bound(entity, channel) if channel is None: if not entity.is_bound: raise ChannelError( f"channel is None and entity {entity} not bound.") channel = entity.channel declared = ident = None if channel.connection and entity.can_cache_declaration: declared = channel.connection.client.declared_entities ident = hash(entity) if ident in declared: return False if not channel.connection: raise RecoverableConnectionError('channel disconnected') entity.declare(channel=channel) if declared is not None and ident: declared.add(ident) if orig is not None: orig.name = entity.name return True
def _maybe_declare(entity, channel): is_bound = entity.is_bound orig = entity if not is_bound: assert channel entity = entity.bind(channel) if channel is None: assert is_bound channel = entity.channel declared = ident = None if channel.connection and entity.can_cache_declaration: declared = channel.connection.client.declared_entities ident = hash(entity) if ident in declared: return False if not channel.connection: raise RecoverableConnectionError('channel disconnected') entity.declare(channel=channel) if declared is not None and ident: declared.add(ident) if orig is not None: orig.name = entity.name return True
def _imaybe_declare(entity, channel, **retry_policy): _ensure_channel_is_bound(entity, channel) if not entity.channel.connection: raise RecoverableConnectionError('channel disconnected') return entity.channel.connection.client.ensure( entity, _maybe_declare, **retry_policy)(entity, channel)
def _maybe_declare(entity, declared, ident, channel): channel = channel or entity.channel if not channel.connection: raise RecoverableConnectionError('channel disconnected') entity.declare() if declared is not None and ident: declared.add(ident) return True
def _maybe_declare(entity, declared, ident, channel, orig=None): if not channel.connection: raise RecoverableConnectionError('channel disconnected') entity.declare(channel=channel) if declared is not None and ident: declared.add(ident) if orig is not None: orig.name = entity.name return True
def _maybe_declare(entity): channel = entity.channel if not channel.connection: raise RecoverableConnectionError('channel disconnected') if entity.can_cache_declaration: declared = channel.connection.client.declared_entities ident = hash(entity) if ident not in declared: entity.declare() declared.add(ident) return True return False entity.declare() return True