code: func (n *NetStore) Put(ctx context.Context, ch Chunk) error {
  	n.mu.Lock()
  	defer n.mu.Unlock()
  
  	// put to the chunk to the store, there should be no error
  	err := n.store.Put(ctx, ch)
  	if err != nil {
  		return err
  	}
  
  	// if chunk is now put in the store, check if there was an active fetcher and call deliver on it
  	// (this delivers the chunk to requestors via the fetcher)
  	log.Trace("n.getFetcher", "ref", ch.Address())
  	if f := n.getFetcher(ch.Address()); f != nil {
  		log.Trace("n.getFetcher deliver", "ref", ch.Address())
  		f.deliver(ctx, ch)
  	}
  	return nil
  }
docs: // Put stores a chunk in localstore, and delivers to all requestor peers using the fetcher stored in
  // the fetchers cache