# `blocking` — Blocking Command support (XEP-0191)

This subpackage provides client side support for XEP-0191.

The public interface of this package consists of a single `Service`:

class `aioxmpp.``BlockingClient`(client, **kwargs)

  A `Service` implementing Blocking Command.

  This service maintains the list of blocked JIDs and allows manipulating the blocklist.

  Attribute:

  `blocklist`

    `Set` of JIDs blocked by the account.

  Signals:

  signal `on_initial_blocklist_received`(blocklist)

    Fires when the initial blocklist was received from the server.

    Parameters: | blocklist (`Set` of `JID`) – the initial blocklist

  signal `on_jids_blocked`(blocked_jids)

    Fires when additional JIDs are blocked.

    Parameters: | blocked_jids (`Set` of `JID`) – the newly blocked JIDs

  signal `on_jids_blocked`(blocked_jids)

    Fires when JIDs are unblocked.

    Parameters: | unblocked_jids (`Set` of `JID`) – the now unblocked JIDs

  Coroutine methods:

  coroutine `block_jids`(jids_to_block)

    Add the JIDs in the sequence jids_to_block to the client’s blocklist.

  coroutine `unblock_jids`(jids_to_unblock)

    Remove the JIDs in the sequence jids_to_block from the client’s blocklist.

  coroutine `unblock_all`()

    Unblock all JIDs currently blocked.