Send an UNSUBSCRIBE packet to Broker
            to unsubscribe from one or more Topics.
          
template < typename CompletionToken = typename asio::default_completion_token<executor_type>::type > decltype(auto) async_unsubscribe( const std::vector< std::string > & topics, const unsubscribe_props & props, CompletionToken && token = {} );
![]()  | 
Note | 
|---|---|
              The Client may still receive residual Application Messages through
              the   | 
| 
                     Name  | 
                     Description  | 
|---|---|
| 
                     topics  | 
                     List of Topics to unsubscribe from.  | 
| 
                     props  | 
                     
                      An instance of   | 
| 
                     token  | 
                     
                      Completion token that will be used to produce a completion
                      handler. The handler will be invoked when the operation completes.
                      On immediate completion, invocation of the handler will be
                      performed in a manner equivalent to using   | 
The handler signature for this operation:
void (, // Result of operation. std::vector<async_mqtt5::error_code>, // Vector of Reason Codes indicating // the result of unsubscribe operation // for each Topic in the UNSUBSCRIBE packet.async_mqtt5::reason_codeasync_mqtt5::unsuback_props, // Properties received in the UNSUBACK packet. )
The asynchronous operation will complete when one of the following conditions is true:
UNSUBSCRIBE packet and
                has received an UNSUBACK response from
                the Broker.
              async_mqtt5::error_code in
                the handler.
              The list of all possible error codes that this operation can finish with:
boost::system::errc::errc_t::success
              boost::asio::error::no_recovery
              boost::asio::error::operation_aborted
              async_mqtt5::client::error::malformed_packet
              async_mqtt5::client::error::packet_too_large
              async_mqtt5::client::error::pid_overrun
              async_mqtt5::client::error::invalid_topic
              
            Refer to the section on 
            to find the underlying causes for each error code.
          Error handling
            This asynchronous operation supports cancellation for the following
            boost::asio::cancellation_type
            values:
          
cancellation_type::terminal
                - invokes mqtt_client::cancel
              cancellation_type::partial
                & cancellation_type::total
                - prevents potential resending of the UNSUBSCRIBE packet