code: func (c *Client) resubscribe() {
  	// Swap so that if we reconnect before all tasks are done,
  	// we don't duplicate things.
  	subs := c.subscribed
  	c.subscribed = map[string][]*Listener{}
  
  	for _, events := range subs {
  		// We only need to subscribe on one event, so that the Redis
  		// connection gets registered. We don't care about the others.
  		c.tasks <- task{Listener: events[0], Action: subscribeAction, Force: true}
  	}
  }
docs: // Resubscribes to all Redis events. Good to do after a disconnection.