コード例 #1
0
ファイル: simple.go プロジェクト: sgotti/pollon
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)
	}

}
コード例 #2
0
ファイル: proxy.go プロジェクト: sorintlab/stolon
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
}
コード例 #3
0
ファイル: simple.go プロジェクト: flaviotax/pollon
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)
	}

}