func (s *_Service) newRpcConn(conn interface{}, connID, sessID uid.LID, clientID uid.ID) *_Conn {
	c := &_Conn{
		connID:     connID,
		clientID:   clientID,
		sessID:     sessID,
		MessageIds: message.NewMessageIds(),
		send:       make(chan lp.MessagePack, 1), // buffered
		recv:       make(chan lp.MessagePack),
		pub:        make(chan *utp.Publish),
		stop:       make(chan interface{}, 1), // Buffered by 1 just to make it non-blocking
		service:    s,
		subs:       message.NewStats(),
		clnode:     conn.(*ClusterNode),
		nodes:      make(map[string]bool, 3),
	}

	Globals.connCache.add(c)
	return c
}
// newRpcConn a new connection in cluster
newRpcConn a new connection in cluster
// newRpcConn a new connection in cluster
func (s *_Service) newRpcConn(conn interface{}, connID, sessID uid.LID, clientID uid.ID) *_Conn {
	c := &_Conn{
		connID:     connID,
		clientID:   clientID,
		sessID:     sessID,
		MessageIds: message.NewMessageIds(),
		send:       make(chan lp.MessagePack, 1), 
		recv:       make(chan lp.MessagePack),
		pub:        make(chan *utp.Publish),
		stop:       make(chan interface{}, 1), 
		service:    s,
		subs:       message.NewStats(),
		clnode:     conn.(*ClusterNode),
		nodes:      make(map[string]bool, 3),
	}
	Globals.connCache.add(c)
	return c
}
func ( s * _Service ) newRpcConn ( conn interface { } , connID , sessID uid . LID , clientID uid . ID ) * _Conn { c := & _Conn { connID : connID , clientID : clientID , sessID : sessID , MessageIds : message . NewMessageIds ( ) , send : make ( chan lp . MessagePack , 1 ) , recv : make ( chan lp . MessagePack ) , pub : make ( chan * utp . Publish ) , stop : make ( chan interface { } , 1 ) , service : s , subs : message . NewStats ( ) , clnode : conn . ( * ClusterNode ) , nodes : make ( map [ string ] bool , 3 ) , } Globals . connCache . add ( c ) return c }
newRpcConn a new connection in cluster
newRpcConn a new connection in cluster
// buffered // Buffered by 1 just to make it non-blocking