code: func (r *Reader) Next() *Packet {
  	d := r.sixteenBytes
  	r.err = r.read(d)
  	if r.err != nil {
  		return nil
  	}
  	timeSec := asUint32(d[0:4], r.flip)
  	timeUsec := asUint32(d[4:8], r.flip)
  	capLen := asUint32(d[8:12], r.flip)
  	origLen := asUint32(d[12:16], r.flip)
  
  	data := make([]byte, capLen)
  	if r.err = r.read(data); r.err != nil {
  		return nil
  	}
  	return &Packet{
  		Time:   time.Unix(int64(timeSec), int64(timeUsec)),
  		Caplen: capLen,
  		Len:    origLen,
  		Data:   data,
  	}
  }
docs: // Next returns the next packet or nil if no more packets can be read.