code: func (u *DropsondeUnmarshaller) Run(inputChan <-chan []byte, outputChan chan<- *events.Envelope) {
  	for message := range inputChan {
  		envelope, err := u.UnmarshallMessage(message)
  		if err != nil {
  			continue
  		}
  		outputChan <- envelope
  	}
  }
docs: // Run reads byte slices from inputChan, unmarshalls them to Envelopes, and
  // emits the Envelopes onto outputChan. It operates one message at a time, and
  // will block if outputChan is not read.