Improve Performance [Client] [ListMessages] [Grab Body] Optimize Memory Usage

- [+] fix(list_messages.go): optimize buffer handling in ListMessages function by resetting buffer before putting it back in the pool
This commit is contained in:
H0llyW00dzZ 2025-01-24 12:18:23 +07:00
parent ff4bd67ceb
commit 396b760e7f
Signed by: H0llyW00dzZ
GPG Key ID: A0F9424A7002343A

View File

@ -70,12 +70,11 @@ func (c *IMAPClient) ListMessages(mailbox string, numMessages uint32, config Mes
if config.GrabBody {
for _, literal := range msg.Body {
buf := bytebufferpool.Get()
defer bytebufferpool.Put(buf)
_, err := buf.ReadFrom(literal)
if err == nil {
if _, err := buf.ReadFrom(literal); err == nil {
details.Body = buf.String()
}
buf.Reset() // Reset the buffer before returning it to the pool.
bytebufferpool.Put(buf)
}
}
results = append(results, details)