Skip to content

Commit

Permalink
fix wrong codes when write exampels
Browse files Browse the repository at this point in the history
  • Loading branch information
smallnest committed Oct 20, 2017
1 parent 42549d7 commit a746287
Show file tree
Hide file tree
Showing 8 changed files with 19 additions and 8 deletions.
10 changes: 10 additions & 0 deletions client/selector.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ func newRandomSelector(servers map[string]string) Selector {

func (s randomSelector) Select(ctx context.Context, servicePath, serviceMethod string, args interface{}) string {
ss := s.servers
if len(ss) == 0 {
return ""
}
i := s.r.Intn(len(ss))
return ss[i]
}
Expand Down Expand Up @@ -81,6 +84,10 @@ func newRoundRobinSelector(servers map[string]string) Selector {

func (s roundRobinSelector) Select(ctx context.Context, servicePath, serviceMethod string) string {
ss := s.servers
if len(ss) == 0 {
return ""
}

i := s.i
i = i % len(ss)
s.i = i + 1
Expand Down Expand Up @@ -238,6 +245,9 @@ func newConsistentHashSelector(servers map[string]string) Selector {

func (s consistentHashSelector) Select(ctx context.Context, servicePath, serviceMethod string, args interface{}) string {
ss := s.servers
if len(ss) == 0 {
return ""
}
i := JumpConsistentHash(len(ss), servicePath, serviceMethod, args)
return ss[i]
}
Expand Down
6 changes: 5 additions & 1 deletion server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,11 @@ func (s *Server) serveConn(conn net.Conn) {

req, err := s.readRequest(ctx, r)
if err != nil {
log.Errorf("rpcx: failed to read request: %v", err)
if err == io.EOF {
log.Infof("client has closed this connection: %s", conn.RemoteAddr().String())
} else {
log.Errorf("rpcx: failed to read request: %v", err)
}
return
}

Expand Down
2 changes: 1 addition & 1 deletion serverplugin/consul.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func (p *ConsulRegisterPlugin) HandleConnAccept(conn net.Conn) (net.Conn, bool)

// Register handles registering event.
// this service is registered at BASE/serviceName/thisIpAddress node
func (p *ConsulRegisterPlugin) Register(name string, rcvr interface{}, metadata ...string) (err error) {
func (p *ConsulRegisterPlugin) Register(name string, rcvr interface{}, metadata string) (err error) {
if "" == strings.TrimSpace(name) {
err = errors.New("Register service `name` can't be empty")
return
Expand Down
1 change: 0 additions & 1 deletion serverplugin/consul_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ func TestConsulRegistry(t *testing.T) {
ConsulServers: []string{"127.0.0.1:8500"},
BasePath: "/rpcx_test",
Metrics: metrics.NewRegistry(),
Services: make([]string, 1),
UpdateInterval: time.Minute,
}
err := r.Start()
Expand Down
2 changes: 1 addition & 1 deletion serverplugin/etcd.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func (p *EtcdRegisterPlugin) HandleConnAccept(conn net.Conn) (net.Conn, bool) {

// Register handles registering event.
// this service is registered at BASE/serviceName/thisIpAddress node
func (p *EtcdRegisterPlugin) Register(name string, rcvr interface{}, metadata ...string) (err error) {
func (p *EtcdRegisterPlugin) Register(name string, rcvr interface{}, metadata string) (err error) {
if "" == strings.TrimSpace(name) {
err = errors.New("Register service `name` can't be empty")
return
Expand Down
1 change: 0 additions & 1 deletion serverplugin/etcd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ func TestEtcdRegistry(t *testing.T) {
EtcdServers: []string{"127.0.0.1:2379"},
BasePath: "/rpcx_test",
Metrics: metrics.NewRegistry(),
Services: make([]string, 1),
UpdateInterval: time.Minute,
}
err := r.Start()
Expand Down
4 changes: 2 additions & 2 deletions serverplugin/zookeeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func (p *ZooKeeperRegisterPlugin) HandleConnAccept(conn net.Conn) (net.Conn, boo

// Register handles registering event.
// this service is registered at BASE/serviceName/thisIpAddress node
func (p *ZooKeeperRegisterPlugin) Register(name string, rcvr interface{}, metadata ...string) (err error) {
func (p *ZooKeeperRegisterPlugin) Register(name string, rcvr interface{}, metadata string) (err error) {
if "" == strings.TrimSpace(name) {
err = errors.New("Register service `name` can't be empty")
return
Expand Down Expand Up @@ -128,7 +128,7 @@ func (p *ZooKeeperRegisterPlugin) Register(name string, rcvr interface{}, metada
}

nodePath = fmt.Sprintf("%s/%s/%s", p.BasePath, name, p.ServiceAddress)
err = p.kv.Put(nodePath, []byte(p.ServiceAddress), &store.WriteOptions{IsDir: true})
err = p.kv.Put(nodePath, []byte(p.ServiceAddress), nil)
if err != nil {
log.Errorf("cannot create zk path %s: %v", nodePath, err)
return err
Expand Down
1 change: 0 additions & 1 deletion serverplugin/zookeeper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ func TestZookeeperRegistry(t *testing.T) {
ZooKeeperServers: []string{"127.0.0.1:2181"},
BasePath: "/rpcx_test",
Metrics: metrics.NewRegistry(),
Services: make([]string, 1),
UpdateInterval: time.Minute,
}
err := r.Start()
Expand Down

0 comments on commit a746287

Please sign in to comment.