code: func (c *Client) processUnsuback(unsuback *packet.Unsuback) error {
  	// remove packet from store
  	err := c.Session.DeletePacket(session.Outgoing, unsuback.ID)
  	if err != nil {
  		return err
  	}
  
  	// get future
  	unsubscribeFuture := c.futureStore.Get(unsuback.ID)
  	if unsubscribeFuture == nil {
  		return nil // ignore a wrongly sent Unsuback packet
  	}
  
  	// complete future
  	unsubscribeFuture.Complete()
  
  	// remove future from store
  	c.futureStore.Delete(unsuback.ID)
  
  	return nil
  }
docs: // handle an incoming Unsuback packet