code: func (pool *TxPool) eventLoop() {
  	for {
  		select {
  		case ev := <-pool.chainHeadCh:
  			pool.setNewHead(ev.Block.Header())
  			// hack in order to avoid hogging the lock; this part will
  			// be replaced by a subsequent PR.
  			time.Sleep(time.Millisecond)
  
  		// System stopped
  		case <-pool.chainHeadSub.Err():
  			return
  		}
  	}
  }
docs: // eventLoop processes chain head events and also notifies the tx relay backend
  // about the new head hash and tx state changes