< 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:11
Uncovered lines:0
Coverable lines:11
Total lines:47
Line coverage:100% (11 of 11)
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        {
 517            return Deserialize(new ByteArrayReader(bytes));
 18        }
 19
 20        public static IEnumerator<object> Deserialize(IBinaryReader reader)
 21        {
 22            const int headerLength = 8;
 23
 3624            while (reader.CanRead())
 25            {
 2426                int messageLength = reader.ReadInt32();
 2427                int messageType = reader.ReadInt32();
 28
 2429                if (messageLength <= BinaryMessageConstants.MESSAGE_HEADER_LENGTH)
 30                {
 31                    continue;
 32                }
 33
 2434                switch ((KernelBinaryMessageType)messageType)
 35                {
 36                    case KernelBinaryMessageType.PUT_COMPONENT:
 37                    case KernelBinaryMessageType.DELETE_COMPONENT:
 1838                        yield return CRDTDeserializer.Deserialize(reader);
 1639                        break;
 40                    default:
 641                        reader.Skip(messageLength - headerLength);
 42                        break;
 43                }
 44            }
 1245        }
 46    }
 47}