(prot SocketProtector, logger *slog.Logger)
| 14 | type SocketProtector func(fileDescriptor int) error |
| 15 | |
| 16 | func dialerControlProtect(prot SocketProtector, logger *slog.Logger) func(network, address string, c syscall.RawConn) error { |
| 17 | return func(network, address string, c syscall.RawConn) error { |
| 18 | return c.Control(func(fd uintptr) { |
| 19 | if prot != nil { |
| 20 | err := prot(int(fd)) |
| 21 | if err != nil { |
| 22 | logger.Error("Error calling socket protector", "err", err) |
| 23 | } |
| 24 | } |
| 25 | }) |
| 26 | } |
| 27 | } |