diff options
| author | Shulhan <ms@kilabit.info> | 2022-08-16 23:21:43 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-08-16 23:21:43 +0700 |
| commit | d769cfe466e2a5f96d396f91f6000c4fc604d836 (patch) | |
| tree | dcea4cfcdb198cc46c97830f2eb17b4fde4f4d98 /haminer.go | |
| parent | 1ade2eebf51bd64c60b797c077b436b3221202bf (diff) | |
| download | haminer-d769cfe466e2a5f96d396f91f6000c4fc604d836.tar.xz | |
all: use fixed []byte for consuming UDP packet
Instead of using struct UDPPacket to read UDP packet from HAproxy log,
simplify it by using fixed, reusable size of []byte directly.
Diffstat (limited to 'haminer.go')
| -rw-r--r-- | haminer.go | 28 |
1 files changed, 13 insertions, 15 deletions
@@ -106,20 +106,23 @@ func (h *Haminer) filter(halog *Halog) bool { func (h *Haminer) consume() { var ( - err error - ok bool - p = NewUDPPacket(0) + packet = make([]byte, 4096) + + halog *Halog + err error + n int + ok bool ) for h.isRunning { - _, err = h.udpConn.Read(p.Bytes) + n, err = h.udpConn.Read(packet) if err != nil { continue } - halog := &Halog{} + halog = &Halog{} - ok = halog.ParseUDPPacket(p, h.cfg.RequestHeaders) + ok = halog.ParseUDPPacket(packet[:n], h.cfg.RequestHeaders) if !ok { continue } @@ -130,14 +133,6 @@ func (h *Haminer) consume() { } h.chHalog <- halog - - p.Reset() - } -} - -func (h *Haminer) forwards(halogs []*Halog) { - for _, fwder := range h.ff { - fwder.Forwards(halogs) } } @@ -163,7 +158,10 @@ func (h *Haminer) produce() { continue } - h.forwards(halogs) + for _, fwder := range h.ff { + fwder.Forwards(halogs) + } + halogs = halogs[:0] } } |
