code: func (peer *Peer) update() {
  	// Start the tickers for the updates
  	expire := time.NewTicker(expirationCycle)
  	transmit := time.NewTicker(transmissionCycle)
  
  	// Loop and transmit until termination is requested
  	for {
  		select {
  		case <-expire.C:
  			peer.expire()
  
  		case <-transmit.C:
  			if err := peer.broadcast(); err != nil {
  				log.Trace("broadcast failed", "reason", err, "peer", peer.ID())
  				return
  			}
  
  		case <-peer.quit:
  			return
  		}
  	}
  }
docs: // update executes periodic operations on the peer, including message transmission
  // and expiration.