code: func (bi *blockImporter) Import() chan *importResults {
  	// Start up the read and process handling goroutines.  This setup allows
  	// blocks to be read from disk in parallel while being processed.
  	bi.wg.Add(2)
  	go bi.readHandler()
  	go bi.processHandler()
  
  	// Wait for the import to finish in a separate goroutine and signal
  	// the status handler when done.
  	go func() {
  		bi.wg.Wait()
  		bi.doneChan <- true
  	}()
  
  	// Start the status handler and return the result channel that it will
  	// send the results on when the import is done.
  	resultChan := make(chan *importResults)
  	go bi.statusHandler(resultChan)
  	return resultChan
  }
docs: // Import is the core function which handles importing the blocks from the file
  // associated with the block importer to the database.  It returns a channel
  // on which the results will be returned when the operation has completed.