private static LengthFields ParseLengthFields(byte[] bytedata) { var result = new LengthFields { }; result.HeaderLength = BitConverter.ToUInt16(bytedata, 0); result.FileLength = BitConverter.ToUInt32(bytedata, 2); result.MetadataOffset = BitConverter.ToUInt32(bytedata, 6); result.MetadataLength = BitConverter.ToUInt32(bytedata, 10); result.PayloadHeaderOffset = BitConverter.ToUInt32(bytedata, 14); result.PayloadHeaderLength = BitConverter.ToUInt32(bytedata, 18); result.PayloadOffset = BitConverter.ToUInt32(bytedata, 22); return(result); }
private async Task <ReplayHeader> TryExtractReplayHeaderAsync() { lengthFields = await ExtractLengthFields(); var matchMetadata = await ExtractMatchMetadata(); var payloadFields = await ExtractPayloadFields(); return(new ReplayHeader { LengthFields = lengthFields, MatchMetadata = matchMetadata, PayloadFields = payloadFields }); }