code: func (this *sinkManager) ExportEvents(data *core.EventBatch) {
  	var wg sync.WaitGroup
  	for _, sh := range this.sinkHolders {
  		wg.Add(1)
  		go func(sh sinkHolder, wg *sync.WaitGroup) {
  			defer wg.Done()
  			glog.V(2).Infof("Pushing events to: %s", sh.sink.Name())
  			select {
  			case sh.eventBatchChannel <- data:
  				glog.V(2).Infof("Data events completed: %s", sh.sink.Name())
  				// everything ok
  			case <-time.After(this.exportEventsTimeout):
  				glog.Warningf("Failed to events data to sink: %s", sh.sink.Name())
  			}
  		}(sh, &wg)
  	}
  	// Wait for all pushes to complete or timeout.
  	wg.Wait()
  }
docs: // Guarantees that the export will complete in exportEventsTimeout.