code: func HandleRXPackets(wg *sync.WaitGroup) {
  	for uplinkFrame := range gwbackend.Backend().RXPacketChan() {
  		go func(uplinkFrame gw.UplinkFrame) {
  			wg.Add(1)
  			defer wg.Done()
  			if err := HandleRXPacket(uplinkFrame); err != nil {
  				data := base64.StdEncoding.EncodeToString(uplinkFrame.PhyPayload)
  				log.WithField("data_base64", data).WithError(err).Error("processing uplink frame error")
  			}
  		}(uplinkFrame)
  	}
  }
docs: // HandleRXPackets consumes received packets by the gateway and handles them
  // in a separate go-routine. Errors are logged.