summaryrefslogtreecommitdiff
path: root/internal/clients/handlers/basehandler.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-10-06 09:50:41 +0300
committerPaul Buetow <paul@buetow.org>2021-10-06 09:50:41 +0300
commitfab5dc3e70434ea0abc7a0976487a1973b662331 (patch)
tree61a06e166f225b69f09966e81ae725f960fd80be /internal/clients/handlers/basehandler.go
parent9f395a03f25941d8ed98ec43035688daa1e8877f (diff)
enable faster shutdown - useful for dgrep/dmap and dcat commands
Diffstat (limited to 'internal/clients/handlers/basehandler.go')
-rw-r--r--internal/clients/handlers/basehandler.go8
1 files changed, 3 insertions, 5 deletions
diff --git a/internal/clients/handlers/basehandler.go b/internal/clients/handlers/basehandler.go
index 04124e7..b520c25 100644
--- a/internal/clients/handlers/basehandler.go
+++ b/internal/clients/handlers/basehandler.go
@@ -69,7 +69,7 @@ func (h *baseHandler) Write(p []byte) (n int, err error) {
*/
case '\n', protocol.MessageDelimiter:
message := h.receiveBuf.String()
- h.handleMessageType(message)
+ h.handleMessage(message)
h.receiveBuf.Reset()
default:
h.receiveBuf.WriteByte(b)
@@ -90,9 +90,7 @@ func (h *baseHandler) Read(p []byte) (n int, err error) {
return
}
-// Handle various message types.
-func (h *baseHandler) handleMessageType(message string) {
- // Hidden server commands starti with a dot "."
+func (h *baseHandler) handleMessage(message string) {
if len(message) > 0 && message[0] == '.' {
h.handleHiddenMessage(message)
return
@@ -106,7 +104,7 @@ func (h *baseHandler) handleMessageType(message string) {
func (h *baseHandler) handleHiddenMessage(message string) {
switch {
case strings.HasPrefix(message, ".syn close connection"):
- h.SendMessage(".ack close connection")
+ go h.SendMessage(".ack close connection")
h.Shutdown()
}
}