< Summary

Information
Class: System.Net.WebSockets.ValueWebSocketReceiveResult
Assembly: System.Net.WebSockets
File(s): D:\runner\runtime\src\libraries\System.Net.WebSockets\src\System\Net\WebSockets\ValueWebSocketReceiveResult.cs
Line coverage
92%
Covered lines: 12
Uncovered lines: 1
Coverable lines: 13
Total lines: 37
Line coverage: 92.3%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)75%44100%
ThrowMessageTypeOutOfRange()100%110%

File(s)

D:\runner\runtime\src\libraries\System.Net.WebSockets\src\System\Net\WebSockets\ValueWebSocketReceiveResult.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System.Diagnostics;
 5
 6namespace System.Net.WebSockets
 7{
 8    /// <summary>Represents the result of performing a single <see cref="WebSocket.ReceiveAsync(Memory{byte}, System.Thr
 9    public readonly struct ValueWebSocketReceiveResult
 10    {
 11        private readonly uint _countAndEndOfMessage;
 12        private readonly WebSocketMessageType _messageType;
 13
 14        /// <summary>Creates an instance of the <see cref="ValueWebSocketReceiveResult"/> value type.</summary>
 15        /// <param name="count">The number of bytes received.</param>
 16        /// <param name="messageType">The type of message that was received.</param>
 17        /// <param name="endOfMessage">Whether this is the final message.</param>
 18        public ValueWebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage)
 16853319        {
 16853320            ArgumentOutOfRangeException.ThrowIfNegative(count);
 16853321            if ((uint)messageType > (uint)WebSocketMessageType.Close) ThrowMessageTypeOutOfRange();
 22
 16853323            _countAndEndOfMessage = (uint)count | (uint)(endOfMessage ? 1 << 31 : 0);
 16853324            _messageType = messageType;
 25
 16853326            Debug.Assert(count == Count);
 16853327            Debug.Assert(messageType == MessageType);
 16853328            Debug.Assert(endOfMessage == EndOfMessage);
 16853329        }
 30
 16853331        public int Count => (int)(_countAndEndOfMessage & 0x7FFFFFFF);
 16853332        public bool EndOfMessage => (_countAndEndOfMessage & 0x80000000) == 0x80000000;
 16853333        public WebSocketMessageType MessageType => _messageType;
 34
 035        private static void ThrowMessageTypeOutOfRange() => throw new ArgumentOutOfRangeException("messageType");
 36    }
 37}