From 5e85a5cdcdba8d9d7287e3950ae439d6b9ffd515 Mon Sep 17 00:00:00 2001 From: HaoyangLiu Date: Thu, 30 Aug 2018 17:14:10 +0800 Subject: [PATCH] IRISHUB-238: delete client manager --- client/context/client_manager.go | 46 --------------------------- client/context/client_manager_test.go | 16 ---------- client/context/context.go | 7 ---- 3 files changed, 69 deletions(-) delete mode 100644 client/context/client_manager.go delete mode 100644 client/context/client_manager_test.go diff --git a/client/context/client_manager.go b/client/context/client_manager.go deleted file mode 100644 index 8fffb9d651..0000000000 --- a/client/context/client_manager.go +++ /dev/null @@ -1,46 +0,0 @@ -package context - -import ( - "github.com/pkg/errors" - rpcclient "github.com/tendermint/tendermint/rpc/client" - "strings" - "sync" -) - -// ClientManager is a manager of a set of rpc clients to full nodes. -// This manager can do load balancing upon these rpc clients. -type ClientManager struct { - clients []rpcclient.Client - currentIndex int - mutex sync.Mutex -} - -// NewClientManager create a new ClientManager -func NewClientManager(nodeURIs string) (*ClientManager, error) { - if nodeURIs != "" { - nodeURLArray := strings.Split(nodeURIs, ",") - var clients []rpcclient.Client - for _, url := range nodeURLArray { - client := rpcclient.NewHTTP(url, "/websocket") - clients = append(clients, client) - } - mgr := &ClientManager{ - currentIndex: 0, - clients: clients, - } - return mgr, nil - } - return nil, errors.New("missing node URIs") -} - -func (mgr *ClientManager) getClient() rpcclient.Client { - mgr.mutex.Lock() - defer mgr.mutex.Unlock() - - client := mgr.clients[mgr.currentIndex] - mgr.currentIndex++ - if mgr.currentIndex >= len(mgr.clients) { - mgr.currentIndex = 0 - } - return client -} diff --git a/client/context/client_manager_test.go b/client/context/client_manager_test.go deleted file mode 100644 index 1960f74ced..0000000000 --- a/client/context/client_manager_test.go +++ /dev/null @@ -1,16 +0,0 @@ -package context - -import ( - "github.com/stretchr/testify/assert" - "testing" -) - -func TestClientManager(t *testing.T) { - nodeURIs := "10.10.10.10:26657,20.20.20.20:26657,30.30.30.30:26657" - clientMgr, err := NewClientManager(nodeURIs) - assert.Empty(t, err) - endpoint := clientMgr.getClient() - assert.NotEqual(t, endpoint, clientMgr.getClient()) - clientMgr.getClient() - assert.Equal(t, endpoint, clientMgr.getClient()) -} diff --git a/client/context/context.go b/client/context/context.go index 28506756cf..ffdd0f7bc0 100644 --- a/client/context/context.go +++ b/client/context/context.go @@ -34,7 +34,6 @@ type CLIContext struct { JSON bool PrintResponse bool Certifier tendermintLite.Certifier - ClientManager *ClientManager } // NewCLIContext returns a new initialized CLIContext with parameters from the @@ -126,9 +125,3 @@ func (ctx CLIContext) WithCertifier(certifier tendermintLite.Certifier) CLIConte ctx.Certifier = certifier return ctx } - -// WithClientManager - return a copy of the context with an updated ClientManager -func (ctx CLIContext) WithClientManager(clientManager *ClientManager) CLIContext { - ctx.ClientManager = clientManager - return ctx -}