< Summary

Class:KernelCommunication.KernelBinaryMessageDeserializer
Assembly:KernelCommunication.BinaryMessage
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/KernelCommunication/BinaryMessage/KernelBinaryMessageDeserializer.cs
Covered lines:10
Uncovered lines:0
Coverable lines:10
Total lines:47
Line coverage:100% (10 of 10)
Covered branches:0
Total branches:0

Metrics

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

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/KernelCommunication/BinaryMessage/KernelBinaryMessageDeserializer.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using DCL.CRDT;
 4
 5namespace KernelCommunication
 6{
 7    // Deserialize kernel binary messages (BigEndian)
 8    public static class KernelBinaryMessageDeserializer
 9    {
 10        public static IEnumerator<object> Deserialize(IntPtr intPtr, int messageLength)
 11        {
 312            return Deserialize(new UnmanagedMemoryReader(intPtr, messageLength));
 13        }
 14
 15        public static IEnumerator<object> Deserialize(byte[] bytes)
 16        {
 617            return Deserialize(new ByteArrayReader(bytes));
 18        }
 19
 20        public static IEnumerator<object> Deserialize(IBinaryReader reader)
 21        {
 22            const int headerLength = 8;
 23
 3824            while (reader.CanRead())
 25            {
 2526                int messageLength = reader.ReadInt32();
 2527                CrdtMessageType messageType = (CrdtMessageType)reader.ReadInt32();
 28
 2529                if (messageLength <= BinaryMessageConstants.MESSAGE_HEADER_LENGTH)
 30                {
 31                    continue;
 32                }
 33
 34                switch (messageType)
 35                {
 36                    case CrdtMessageType.PUT_COMPONENT:
 37                    case CrdtMessageType.DELETE_COMPONENT:
 1938                        yield return CRDTDeserializer.Deserialize(reader, messageType);
 1739                        break;
 40                    default:
 641                        reader.Skip(messageLength - headerLength);
 42                        break;
 43                }
 44            }
 1345        }
 46    }
 47}