| 216 | } |
| 217 | |
| 218 | func (w *writer) write(b []byte) error { |
| 219 | w.mu.Lock() |
| 220 | defer w.mu.Unlock() |
| 221 | l := len(b) |
| 222 | if l > maxKevtSize { |
| 223 | overflowEvents.Add(1) |
| 224 | return fmt.Errorf("event size overflow by %d bytes", l-maxKevtSize) |
| 225 | } |
| 226 | if err := w.ws(section.Event, capver.EvtSecV2, 0, uint32(l)); err != nil { |
| 227 | evtWriteErrors.Add(1) |
| 228 | return err |
| 229 | } |
| 230 | if _, err := w.zw.Write(b); err != nil { |
| 231 | evtWriteErrors.Add(1) |
| 232 | return err |
| 233 | } |
| 234 | return nil |
| 235 | } |
| 236 | |
| 237 | func (w *writer) Close() error { |
| 238 | w.stats.printStats() |