diff options
| author | Paul Buetow <paul@dionysus> | 2020-09-19 18:38:36 +0100 |
|---|---|---|
| committer | Paul Buetow <paul@dionysus> | 2020-09-19 18:38:36 +0100 |
| commit | bad8e04bb4410b94b8e875ccde287f74ab94121a (patch) | |
| tree | 9fb8f7aea4e240e5de49acd4e6fd18c5a0282b57 /internal/clients | |
| parent | 813d2d00ec581c801d64091c7774988b559c3e93 (diff) | |
server handler context refactoring
Diffstat (limited to 'internal/clients')
| -rw-r--r-- | internal/clients/handlers/basehandler.go | 3 | ||||
| -rw-r--r-- | internal/clients/handlers/clienthandler.go | 3 | ||||
| -rw-r--r-- | internal/clients/handlers/done.go | 37 | ||||
| -rw-r--r-- | internal/clients/handlers/healthhandler.go | 6 | ||||
| -rw-r--r-- | internal/clients/handlers/maprhandler.go | 3 |
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), |
