@@ -44,8 +44,7 @@ public class ReplayDataParser {
4444 private ReplayMetadata metadata ;
4545 @ Getter
4646 private String replayPatchFieldId ;
47- @ Getter
48- private ByteBuffer data ;
47+ private ByteBuffer dataBuffer ;
4948 @ Getter
5049 private String map ;
5150 @ Getter
@@ -136,7 +135,7 @@ private void readReplayData(Path replayFile) throws IOException, CompressorExcep
136135 buffer .limit (buffer .capacity ());
137136
138137 buffer .position (headerEnd + 1 );
139- data = decompress (buffer , metadata );
138+ dataBuffer = decompress (buffer , metadata );
140139 }
141140
142141 private int findReplayHeaderEnd (byte [] replayData ) {
@@ -442,15 +441,20 @@ private Duration tickToTime(int tick) {
442441
443442 private void parse () throws IOException , CompressorException {
444443 readReplayData (path );
445- data .order (ByteOrder .LITTLE_ENDIAN );
444+ dataBuffer .order (ByteOrder .LITTLE_ENDIAN );
446445
447- parseHeader (data );
446+ parseHeader (dataBuffer );
448447
449- var rewindPosition = data .position ();
450- tokens = ReplayBodyTokenizer .tokenize (data );
451- data .position (rewindPosition );
448+ var rewindPosition = dataBuffer .position ();
449+ tokens = ReplayBodyTokenizer .tokenize (dataBuffer );
450+ dataBuffer .position (rewindPosition );
452451
453- events = ReplayBodyParser .parseTokens (tokens , data );
452+ events = ReplayBodyParser .parseTokens (tokens , dataBuffer );
454453 interpretEvents (events );
455454 }
455+
456+ public byte [] getRawReplayData () {
457+ byte [] backingArray = dataBuffer .array ();
458+ return Arrays .copyOf (backingArray , backingArray .length );
459+ }
456460}
0 commit comments