< Summary

Class:DCL.CRDT.CRDTDeserializer
Assembly:DCL.CRDTProtocol.Deserializer
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/CRDTProtocol/Deserializer/CRDTDeserializer.cs
Covered lines:9
Uncovered lines:0
Coverable lines:9
Total lines:32
Line coverage:100% (9 of 9)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CRDTDeserializer()0%110100%
Deserialize(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/CRDTProtocol/Deserializer/CRDTDeserializer.cs

#LineLine coverage
 1using KernelCommunication;
 2
 3namespace DCL.CRDT
 4{
 5    // Deserialize CRDT binary messages (BigEndian)
 6    public static class CRDTDeserializer
 7    {
 18        internal static readonly CRDTComponentMessageHeader componentHeader = new CRDTComponentMessageHeader();
 9
 10        public static CRDTMessage Deserialize(IBinaryReader dataReader)
 11        {
 2012            componentHeader.entityId = dataReader.ReadInt32();
 2013            componentHeader.componentClassId = dataReader.ReadInt32();
 2014            componentHeader.timestamp = dataReader.ReadInt64();
 2015            componentHeader.dataLength = dataReader.ReadInt32();
 16
 2017            byte[] data = null;
 2018            if (componentHeader.dataLength > 0)
 19            {
 1620                data = dataReader.ReadBytes(componentHeader.dataLength);
 21            }
 22
 2023            return new CRDTMessage()
 24            {
 25                key1 = componentHeader.entityId,
 26                key2 = componentHeader.componentClassId,
 27                timestamp = componentHeader.timestamp,
 28                data = data
 29            };
 30        }
 31    }
 32}