浏览代码

control: indicate host up on connect

Chris Bannister 8 年之前
父节点
当前提交
07a19577de
共有 2 个文件被更改,包括 8 次插入3 次删除
  1. 6 3
      control.go
  2. 2 0
      session.go

+ 6 - 3
control.go

@@ -61,12 +61,16 @@ func (c *controlConn) heartBeat() {
 	}
 
 	sleepTime := 1 * time.Second
+	timer := time.NewTimer(sleepTime)
+	defer timer.Stop()
 
 	for {
+		timer.Reset(sleepTime)
+
 		select {
 		case <-c.quit:
 			return
-		case <-time.After(sleepTime):
+		case <-timer.C:
 		}
 
 		resp, err := c.writeFrame(&writeOptionsFrame{})
@@ -89,7 +93,6 @@ func (c *controlConn) heartBeat() {
 		// try to connect a bit faster
 		sleepTime = 1 * time.Second
 		c.reconnect(true)
-		// time.Sleep(5 * time.Second)
 		continue
 	}
 }
@@ -272,7 +275,7 @@ func (c *controlConn) setupConn(conn *Conn) error {
 	}
 
 	c.conn.Store(ch)
-	// c.session.handleNodeUp(host.ConnectAddress(), host.Port(), false)
+	c.session.handleNodeUp(host.ConnectAddress(), host.Port(), false)
 
 	return nil
 }

+ 2 - 0
session.go

@@ -171,6 +171,8 @@ func (s *Session) init() error {
 		}
 	}
 
+	s.ring.endpoints = hosts
+
 	if !s.cfg.disableControlConn {
 		s.control = createControlConn(s)
 		if s.cfg.ProtoVersion == 0 {