in lib/handler.go [152:175]
func (s *Server) sendToServer(start time.Time, server *DHCPServer, packet []byte, peer *net.UDPAddr) error {
// Check for connection rate
ok, err := s.throttle.OK(server.Address.String())
if !ok {
glog.Errorf("Error writing to server %s, drop due to throttling", server.Hostname)
s.logger.LogErr(time.Now(), server, packet, peer, ErrConnRate, err)
return err
}
_, err = s.conn.WriteTo(packet, server.udpAddr())
if err != nil {
glog.Errorf("Error writing to server %s, drop due to %s", server.Hostname, err)
s.logger.LogErr(start, server, packet, peer, ErrWrite, err)
return err
}
err = s.logger.LogSuccess(start, server, packet, peer)
if err != nil {
glog.Errorf("Failed to log request: %s", err)
}
return nil
}