code: func (b *blockManager) QueueHeaders(headers *wire.MsgHeaders, sp *ServerPeer) {
  	// No channel handling here because peers do not need to block on
  	// headers messages.
  	if atomic.LoadInt32(&b.shutdown) != 0 {
  		return
  	}
  
  	select {
  	case b.peerChan <- &headersMsg{headers: headers, peer: sp}:
  	case <-b.quit:
  		return
  	}
  }
docs: // QueueHeaders adds the passed headers message and peer to the block handling
  // queue.