code: func main() {
  	var debug bool
  	var redisConfigPath string
  
  	// init example flags
  	flag.BoolVar(&debug, "debug", false, "Enable debugging")
  	flag.StringVar(&redisConfigPath, "redis-config", "", "Redis configuration file path")
  	flag.Parse()
  
  	log := logrus.DefaultLogger()
  	if debug {
  		log.SetLevel(logging.DebugLevel)
  	}
  	// load redis config file
  	redisConfig, err := redis.LoadConfig(redisConfigPath)
  	if err != nil {
  		log.Errorf("Failed to load Redis config file %s: %v", redisConfigPath, err)
  		return
  	}
  
  	airport := &Airport{
  		log:             log,
  		airlines:        []string{"AA", "DL", "SW", "UA"},
  		flightRadar:     make(map[string]struct{}),
  		arrivalPrefix:   "/redis/airport/arrival",
  		departurePrefix: "/redis/airport/departure",
  		hangarPrefix:    "/redis/airport/hangar",
  		motions:         []string{" ->", "<- "},
  		respChan:        make(chan keyval.BytesWatchResp, 10),
  		closeChan:       make(chan string),
  	}
  	doneChan := make(chan struct{})
  	if err := airport.init(redisConfig, doneChan); err != nil {
  		airport.log.Errorf("airport example error: %v", err)
  	} else {
  		airport.start()
  	}
  }
docs: // Initialize airport and start serving