Slide 16
Slide 16 text
in_forward
• treat incoming connection with goroutine
func (in *ForwardInput) Start() error {
in.running = true // XXX: RACE
go func () {
for in.running {
conn, err := in.listener.Accept()
if err != nil {
in.logger.Fatal(err.Error())
continue
}
go newForwardClient(in, in.logger, conn, in.codec).handle()
}
}()
return nil
}