diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2021-12-05 10:37:20 +0000 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2021-12-05 10:37:20 +0000 |
| commit | 7ec5c5b144866c392e3676778041a2ae6aa9d360 (patch) | |
| tree | 55538e624912e24b94d6faa0ae5f0060b824d1bf /internal/server | |
| parent | 6c12fc4b33049111ad6ddc3f62bf979f843fad73 (diff) | |
buffer line.Line for performance
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/handlers/basehandler.go | 3 | ||||
| -rw-r--r-- | internal/server/handlers/healthhandler.go | 2 | ||||
| -rw-r--r-- | internal/server/handlers/readcommand.go | 2 | ||||
| -rw-r--r-- | internal/server/handlers/serverhandler.go | 2 |
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{}), |
