WritePacket writes the given packet data out to the file.
(ci gopacket.CaptureInfo, data []byte)
| 115 | |
| 116 | // WritePacket writes the given packet data out to the file. |
| 117 | func (w *Writer) WritePacket(ci gopacket.CaptureInfo, data []byte) error { |
| 118 | if ci.CaptureLength != len(data) { |
| 119 | return fmt.Errorf("capture length %d does not match data length %d", ci.CaptureLength, len(data)) |
| 120 | } |
| 121 | if ci.CaptureLength > ci.Length { |
| 122 | return fmt.Errorf("invalid capture info %+v: capture length > length", ci) |
| 123 | } |
| 124 | if err := w.writePacketHeader(ci); err != nil { |
| 125 | return fmt.Errorf("error writing packet header: %v", err) |
| 126 | } |
| 127 | _, err := w.w.Write(data) |
| 128 | return err |
| 129 | } |