+ b, err := io.ReadAll(&field)
+ if err != nil {
+ return 0, fmt.Errorf("error reading field: %w", err)
+ }
+ fieldBytes = append(fieldBytes, b...)
+ }
+
+ buf := slices.Concat(fieldCount, fieldBytes)
+ if a.readOffset >= len(buf) {
+ return 0, io.EOF // All bytes have been read