code: func (cli *Client) handleUNSUBACK(p packet.Packet) error {
  	// Lock for update.
  	cli.muConn.Lock()
  	cli.muSess.Lock()
  
  	// Unlock.
  	defer cli.muConn.Unlock()
  	defer cli.muSess.Unlock()
  
  	// Extract the Packet Identifier of the Packet.
  	id := p.(*packet.UNSUBACK).PacketID
  
  	// Validate the Packet Identifier.
  	if err := cli.validatePacketID(cli.sess.sendingPackets, id, packet.TypeUNSUBSCRIBE); err != nil {
  		return err
  	}
  
  	// Get the Topic Filters of the UNSUBSCRIBE Packet.
  	topicFilters := cli.sess.sendingPackets[id].(*packet.UNSUBSCRIBE).TopicFilters
  
  	// Delete the UNSUBSCRIBE Packet from the Session.
  	delete(cli.sess.sendingPackets, id)
  
  	// Delete the Topic Filters from the Network Connection.
  	for _, topicFilter := range topicFilters {
  		delete(cli.conn.ackedSubs, string(topicFilter))
  	}
  
  	return nil
  }
docs: // handleUNSUBACK handles the UNSUBACK Packet.