writeFrame writes a frame to the ring buffer's internal mappings at the provided frame number.
(frameNum uint32, hdrView *buffer.View, pkt buffer.Buffer)
| 164 | // writeFrame writes a frame to the ring buffer's internal mappings at the |
| 165 | // provided frame number. |
| 166 | func (rb *ringBuffer) writeFrame(frameNum uint32, hdrView *buffer.View, pkt buffer.Buffer) error { |
| 167 | rb.mu.Lock() |
| 168 | defer rb.mu.Unlock() |
| 169 | ims, err := rb.internalMappingsForFrame(frameNum, hostarch.Write) |
| 170 | if err != nil { |
| 171 | return err |
| 172 | } |
| 173 | frame := buffer.MakeWithView(hdrView) |
| 174 | frame.Merge(&pkt) |
| 175 | br := frame.AsBufferReader() |
| 176 | defer br.Close() |
| 177 | |
| 178 | rdr := safemem.FromIOReader{Reader: &br} |
| 179 | if _, err = rdr.ReadToBlocks(ims); err != nil { |
| 180 | return err |
| 181 | } |
| 182 | return nil |
| 183 | } |
| 184 | |
| 185 | // incHead increments the head of the ring buffer. |
| 186 | // |
no test coverage detected