Esempio n. 1
0
        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
            });
        }