code: func (m *Memberlist) packetListen() {
  	for {
  		select {
  		case packet := <-m.transport.PacketCh():
  			m.ingestPacket(packet.Buf, packet.From, packet.Timestamp)
  
  		case <-m.shutdownCh:
  			return
  		}
  	}
  }
docs: // packetListen is a long running goroutine that pulls packets out of the
  // transport and hands them off for processing.