summaryrefslogtreecommitdiff
path: root/internal/clients
diff options
context:
space:
mode:
authorPaul Buetow <paul@dionysus>2020-09-19 18:38:36 +0100
committerPaul Buetow <paul@dionysus>2020-09-19 18:38:36 +0100
commitbad8e04bb4410b94b8e875ccde287f74ab94121a (patch)
tree9fb8f7aea4e240e5de49acd4e6fd18c5a0282b57 /internal/clients
parent813d2d00ec581c801d64091c7774988b559c3e93 (diff)
server handler context refactoring
Diffstat (limited to 'internal/clients')
-rw-r--r--internal/clients/handlers/basehandler.go3
-rw-r--r--internal/clients/handlers/clienthandler.go3
-rw-r--r--internal/clients/handlers/done.go37
-rw-r--r--internal/clients/handlers/healthhandler.go6
-rw-r--r--internal/clients/handlers/maprhandler.go3
5 files changed, 10 insertions, 42 deletions
diff --git a/internal/clients/handlers/basehandler.go b/internal/clients/handlers/basehandler.go
index 54b80ae..b5045e2 100644
--- a/internal/clients/handlers/basehandler.go
+++ b/internal/clients/handlers/basehandler.go
@@ -8,12 +8,13 @@ import (
"strings"
"time"
+ "github.com/mimecast/dtail/internal"
"github.com/mimecast/dtail/internal/io/logger"
"github.com/mimecast/dtail/internal/version"
)
type baseHandler struct {
- done *Done
+ done *internal.Done
server string
shellStarted bool
commands chan string
diff --git a/internal/clients/handlers/clienthandler.go b/internal/clients/handlers/clienthandler.go
index 2908f7c..2bcb038 100644
--- a/internal/clients/handlers/clienthandler.go
+++ b/internal/clients/handlers/clienthandler.go
@@ -1,6 +1,7 @@
package handlers
import (
+ "github.com/mimecast/dtail/internal"
"github.com/mimecast/dtail/internal/io/logger"
)
@@ -19,7 +20,7 @@ func NewClientHandler(server string) *ClientHandler {
shellStarted: false,
commands: make(chan string),
status: -1,
- done: NewDone(),
+ done: internal.NewDone(),
},
}
}
diff --git a/internal/clients/handlers/done.go b/internal/clients/handlers/done.go
deleted file mode 100644
index 5b1335e..0000000
--- a/internal/clients/handlers/done.go
+++ /dev/null
@@ -1,37 +0,0 @@
-package handlers
-
-import (
- "sync"
-
- "github.com/mimecast/dtail/internal/io/logger"
-)
-
-type Done struct {
- ch chan struct{}
- mutex sync.Mutex
-}
-
-func NewDone() *Done {
- return &Done{
- ch: make(chan struct{}),
- }
-}
-
-func (d *Done) Done() <-chan struct{} {
- return d.ch
-}
-
-func (d *Done) Shutdown() {
- d.mutex.Lock()
- defer d.mutex.Unlock()
-
- logger.Debug("Done.Shutdown()")
-
- select {
- case <-d.ch:
- return
- default:
- logger.Debug("Done.Shutdown() -> close")
- close(d.ch)
- }
-}
diff --git a/internal/clients/handlers/healthhandler.go b/internal/clients/handlers/healthhandler.go
index 9fc2671..95693ab 100644
--- a/internal/clients/handlers/healthhandler.go
+++ b/internal/clients/handlers/healthhandler.go
@@ -4,11 +4,13 @@ import (
"errors"
"fmt"
"time"
+
+ "github.com/mimecast/dtail/internal"
)
// HealthHandler implements the handler required for health checks.
type HealthHandler struct {
- done *Done
+ done *internal.Done
// Buffer of incoming data from server.
receiveBuf []byte
// To send commands to the server.
@@ -27,7 +29,7 @@ func NewHealthHandler(server string, receive chan<- string) *HealthHandler {
receive: receive,
commands: make(chan string),
status: -1,
- done: NewDone(),
+ done: internal.NewDone(),
}
return &h
diff --git a/internal/clients/handlers/maprhandler.go b/internal/clients/handlers/maprhandler.go
index 5d98690..fb71c8f 100644
--- a/internal/clients/handlers/maprhandler.go
+++ b/internal/clients/handlers/maprhandler.go
@@ -3,6 +3,7 @@ package handlers
import (
"strings"
+ "github.com/mimecast/dtail/internal"
"github.com/mimecast/dtail/internal/io/logger"
"github.com/mimecast/dtail/internal/mapr"
"github.com/mimecast/dtail/internal/mapr/client"
@@ -24,7 +25,7 @@ func NewMaprHandler(server string, query *mapr.Query, globalGroup *mapr.GlobalGr
shellStarted: false,
commands: make(chan string),
status: -1,
- done: NewDone(),
+ done: internal.NewDone(),
},
query: query,
aggregate: client.NewAggregate(server, query, globalGroup),