func main() { addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:2222") if err != nil { log.Fatalf("error: %v", err) } listener, err := net.ListenTCP("tcp", addr) if err != nil { log.Fatalf("error: %v", err) } proxyConfig := &pollon.Config{ ConfChecker: &ConfChecker{}, CheckInterval: 1 * time.Second, ExitOnCheckerError: false, } proxy, err := pollon.NewProxy(listener, proxyConfig) if err != nil { log.Fatalf("error: %v", err) } err = proxy.Start() if err != nil { log.Fatalf("error: %v", err) } }
func (c *ClusterChecker) startPollonProxy() error { if c.pp != nil { return nil } log.Info("Starting proxying") addr, err := net.ResolveTCPAddr("tcp", net.JoinHostPort(cfg.listenAddress, cfg.port)) if err != nil { return fmt.Errorf("error resolving tcp addr %q: %v", addr.String(), err) } listener, err := net.ListenTCP("tcp", addr) if err != nil { return fmt.Errorf("error listening on tcp addr %q: %v", addr.String(), err) } pp, err := pollon.NewProxy(listener) if err != nil { return fmt.Errorf("error creating pollon proxy: %v", err) } c.pp = pp c.listener = listener go func() { c.endPollonProxyCh <- c.pp.Start() }() return nil }
func main() { addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:2222") if err != nil { log.Fatalf("error: %v", err) } listener, err := net.ListenTCP("tcp", addr) if err != nil { log.Fatalf("error: %v", err) } proxy, err := pollon.NewProxy(listener) if err != nil { log.Fatalf("error: %v", err) } go func() { for { Check(proxy.C) time.Sleep(2 * time.Second) } }() err = proxy.Start() if err != nil { log.Fatalf("error: %v", err) } }