summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2021-12-05 10:37:20 +0000
committerPaul Buetow <pbuetow@mimecast.com>2021-12-05 10:37:20 +0000
commit7ec5c5b144866c392e3676778041a2ae6aa9d360 (patch)
tree55538e624912e24b94d6faa0ae5f0060b824d1bf /internal/server
parent6c12fc4b33049111ad6ddc3f62bf979f843fad73 (diff)
buffer line.Line for performance
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/handlers/basehandler.go3
-rw-r--r--internal/server/handlers/healthhandler.go2
-rw-r--r--internal/server/handlers/readcommand.go2
-rw-r--r--internal/server/handlers/serverhandler.go2
4 files changed, 5 insertions, 4 deletions
diff --git a/internal/server/handlers/basehandler.go b/internal/server/handlers/basehandler.go
index f068944..4fd718e 100644
--- a/internal/server/handlers/basehandler.go
+++ b/internal/server/handlers/basehandler.go
@@ -29,7 +29,7 @@ type handleCommandCb func(context.Context, lcontext.LContext, int, []string, str
type baseHandler struct {
done *internal.Done
handleCommandCb handleCommandCb
- lines chan line.Line
+ lines chan *line.Line
aggregate *server.Aggregate
maprMessages chan string
serverMessages chan string
@@ -112,6 +112,7 @@ func (h *baseHandler) Read(p []byte) (n int, err error) {
h.readBuf.WriteByte(protocol.MessageDelimiter)
n = copy(p, h.readBuf.Bytes())
pool.RecycleBytesBuffer(line.Content)
+ line.Recycle()
case <-time.After(time.Second):
select {
diff --git a/internal/server/handlers/healthhandler.go b/internal/server/handlers/healthhandler.go
index e7f7762..362fe24 100644
--- a/internal/server/handlers/healthhandler.go
+++ b/internal/server/handlers/healthhandler.go
@@ -23,7 +23,7 @@ func NewHealthHandler(user *user.User) *HealthHandler {
h := HealthHandler{
baseHandler: baseHandler{
done: internal.NewDone(),
- lines: make(chan line.Line, 100),
+ lines: make(chan *line.Line, 100),
serverMessages: make(chan string, 10),
maprMessages: make(chan string, 10),
ackCloseReceived: make(chan struct{}),
diff --git a/internal/server/handlers/readcommand.go b/internal/server/handlers/readcommand.go
index e425463..85f5b2d 100644
--- a/internal/server/handlers/readcommand.go
+++ b/internal/server/handlers/readcommand.go
@@ -165,7 +165,7 @@ func (r *readCommand) read(ctx context.Context, ltx lcontext.LContext,
for {
if aggregate != nil {
- lines = make(chan line.Line, 100)
+ lines = make(chan *line.Line, 100)
aggregate.NextLinesCh <- lines
}
if err := reader.Start(ctx, ltx, lines, re); err != nil {
diff --git a/internal/server/handlers/serverhandler.go b/internal/server/handlers/serverhandler.go
index 75a8acc..bc22c88 100644
--- a/internal/server/handlers/serverhandler.go
+++ b/internal/server/handlers/serverhandler.go
@@ -31,7 +31,7 @@ func NewServerHandler(user *user.User, catLimiter,
h := ServerHandler{
baseHandler: baseHandler{
done: internal.NewDone(),
- lines: make(chan line.Line, 100),
+ lines: make(chan *line.Line, 100),
serverMessages: make(chan string, 10),
maprMessages: make(chan string, 10),
ackCloseReceived: make(chan struct{}),