Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ public class ReplayDataParser {
private ReplayMetadata metadata;
@Getter
private String replayPatchFieldId;
@Getter
private ByteBuffer data;
private ByteBuffer dataBuffer;
@Getter
private String map;
@Getter
Expand Down Expand Up @@ -136,7 +135,7 @@ private void readReplayData(Path replayFile) throws IOException, CompressorExcep
buffer.limit(buffer.capacity());

buffer.position(headerEnd + 1);
data = decompress(buffer, metadata);
dataBuffer = decompress(buffer, metadata);
}

private int findReplayHeaderEnd(byte[] replayData) {
Expand Down Expand Up @@ -442,15 +441,20 @@ private Duration tickToTime(int tick) {

private void parse() throws IOException, CompressorException {
readReplayData(path);
data.order(ByteOrder.LITTLE_ENDIAN);
dataBuffer.order(ByteOrder.LITTLE_ENDIAN);

parseHeader(data);
parseHeader(dataBuffer);

var rewindPosition = data.position();
tokens = ReplayBodyTokenizer.tokenize(data);
data.position(rewindPosition);
var rewindPosition = dataBuffer.position();
tokens = ReplayBodyTokenizer.tokenize(dataBuffer);
dataBuffer.position(rewindPosition);

events = ReplayBodyParser.parseTokens(tokens, data);
events = ReplayBodyParser.parseTokens(tokens, dataBuffer);
interpretEvents(events);
}

public byte[] getRawReplayData() {
byte[] backingArray = dataBuffer.array();
return Arrays.copyOf(backingArray, backingArray.length);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ public void testReferenceZstd() throws Exception {
Files.copy(getClass().getResourceAsStream("/replay/zstd_reference.fafreplay"), replayFile);
Files.copy(getClass().getResourceAsStream("/replay/zstd_reference.raw"), referenceFile);

byte[] data = new ReplayDataParser(replayFile, objectMapper).getData().array();
byte[] data = new ReplayDataParser(replayFile, objectMapper).getRawReplayData();
byte[] reference = Files.readAllBytes(referenceFile);
assertThat("Zstd compressed replay matches reference", Arrays.equals(data, reference));
}
Expand All @@ -120,7 +120,7 @@ public void testLegacyFormat() throws Exception {
Files.copy(getClass().getResourceAsStream("/replay/test.fafreplay"), replayFile);
Files.copy(getClass().getResourceAsStream("/replay/test.raw"), referenceFile);

byte[] data = new ReplayDataParser(replayFile, objectMapper).getData().array();
byte[] data = new ReplayDataParser(replayFile, objectMapper).getRawReplayData();
byte[] reference = Files.readAllBytes(referenceFile);
assertThat("Legacy compressed file matches reference", Arrays.equals(data, reference));
}
Expand Down