code: func newLightFetcher(pm *ProtocolManager) *lightFetcher {
  	f := &lightFetcher{
  		pm:             pm,
  		chain:          pm.blockchain.(*light.LightChain),
  		odr:            pm.odr,
  		peers:          make(map[*peer]*fetcherPeerInfo),
  		deliverChn:     make(chan fetchResponse, 100),
  		requested:      make(map[uint64]fetchRequest),
  		timeoutChn:     make(chan uint64),
  		requestChn:     make(chan bool, 100),
  		syncDone:       make(chan *peer),
  		maxConfirmedTd: big.NewInt(0),
  	}
  	pm.peers.notify(f)
  
  	f.pm.wg.Add(1)
  	go f.syncLoop()
  	return f
  }
docs: // newLightFetcher creates a new light fetcher