summaryrefslogtreecommitdiff
path: root/internal/clients/baseclient.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-10-05 10:00:38 +0300
committerPaul Buetow <paul@buetow.org>2021-10-05 10:00:38 +0300
commit2ff78a71087d4ba95121996338d0c418b907acfe (patch)
tree82455dac0c870b28aea8c96a426050dc215a8818 /internal/clients/baseclient.go
parent71023c256833a3f598732dc6fe6a1bd338d3fa98 (diff)
more on this
Diffstat (limited to 'internal/clients/baseclient.go')
-rw-r--r--internal/clients/baseclient.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/internal/clients/baseclient.go b/internal/clients/baseclient.go
index fc01955..5ac298f 100644
--- a/internal/clients/baseclient.go
+++ b/internal/clients/baseclient.go
@@ -86,7 +86,7 @@ func (c *baseClient) Start(ctx context.Context, statsCh <-chan string) (status i
var mutex sync.Mutex
for i, conn := range c.connections {
go func(i int, conn connectors.Connector) {
- connStatus := c.start(ctx, active, i, conn)
+ connStatus := c.startConnection(ctx, active, i, conn)
// Update global status.
mutex.Lock()
@@ -97,11 +97,12 @@ func (c *baseClient) Start(ctx context.Context, statsCh <-chan string) (status i
}(i, conn)
}
+ time.Sleep(time.Second * 2)
c.waitUntilDone(ctx, active)
return
}
-func (c *baseClient) start(ctx context.Context, active chan struct{}, i int, conn connectors.Connector) (status int) {
+func (c *baseClient) startConnection(ctx context.Context, active chan struct{}, i int, conn connectors.Connector) (status int) {
// Increment connection count
active <- struct{}{}
// Derement connection count
@@ -146,12 +147,13 @@ func (c *baseClient) waitUntilDone(ctx context.Context, active chan struct{}) {
<-ctx.Done()
}
+ // TODO: Rewrite this to use a wait group.
for {
numActive := len(active)
if numActive == 0 {
return
}
dlog.Client.Debug("Active connections", numActive)
- time.Sleep(time.Second)
+ time.Sleep(time.Second * time.Millisecond * 100)
}
}