< Summary - Jellyfin

Information
Class: MediaBrowser.Model.Net.IPData
Assembly: MediaBrowser.Model
File(s): /srv/git/jellyfin/MediaBrowser.Model/Net/IPData.cs
Line coverage
72%
Covered lines: 8
Uncovered lines: 3
Coverable lines: 11
Total lines: 78
Line coverage: 72.7%
Branch coverage
25%
Covered branches: 2
Total branches: 8
Branch coverage: 25%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 10/18/2025 - 12:10:13 AM Line coverage: 72.7% (8/11) Branch coverage: 25% (2/8) Total lines: 791/19/2026 - 12:13:54 AM Line coverage: 72.7% (8/11) Branch coverage: 25% (2/8) Total lines: 78 10/18/2025 - 12:10:13 AM Line coverage: 72.7% (8/11) Branch coverage: 25% (2/8) Total lines: 791/19/2026 - 12:13:54 AM Line coverage: 72.7% (8/11) Branch coverage: 25% (2/8) Total lines: 78

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)25%44100%
.ctor(...)100%11100%
get_AddressFamily()25%7440%

File(s)

/srv/git/jellyfin/MediaBrowser.Model/Net/IPData.cs

#LineLine coverage
 1using System.Net;
 2using System.Net.Sockets;
 3
 4namespace MediaBrowser.Model.Net;
 5
 6/// <summary>
 7/// Base network object class.
 8/// </summary>
 9public class IPData
 10{
 11    /// <summary>
 12    /// Initializes a new instance of the <see cref="IPData"/> class.
 13    /// </summary>
 14    /// <param name="address">The <see cref="IPAddress"/>.</param>
 15    /// <param name="subnet">The <see cref="IPNetwork"/>.</param>
 16    /// <param name="name">The interface name.</param>
 17    public IPData(IPAddress address, IPNetwork? subnet, string name)
 18    {
 29819        Address = address;
 29820        Subnet = subnet ?? (address.AddressFamily == AddressFamily.InterNetwork ? new IPNetwork(address, 32) : new IPNet
 29821        Name = name;
 29822    }
 23
 24    /// <summary>
 25    /// Initializes a new instance of the <see cref="IPData"/> class.
 26    /// </summary>
 27    /// <param name="address">The <see cref="IPAddress"/>.</param>
 28    /// <param name="subnet">The <see cref="IPNetwork"/>.</param>
 29    public IPData(IPAddress address, IPNetwork? subnet)
 21630        : this(address, subnet, string.Empty)
 31    {
 21632    }
 33
 34    /// <summary>
 35    /// Gets or sets the object's IP address.
 36    /// </summary>
 37    public IPAddress Address { get; set; }
 38
 39    /// <summary>
 40    /// Gets or sets the object's IP address.
 41    /// </summary>
 42    public IPNetwork Subnet { get; set; }
 43
 44    /// <summary>
 45    /// Gets or sets the interface index.
 46    /// </summary>
 47    public int Index { get; set; }
 48
 49    /// <summary>
 50    /// Gets or sets a value indicating whether the network supports multicast.
 51    /// </summary>
 52    public bool SupportsMulticast { get; set; } = false;
 53
 54    /// <summary>
 55    /// Gets or sets the interface name.
 56    /// </summary>
 57    public string Name { get; set; }
 58
 59    /// <summary>
 60    /// Gets the AddressFamily of the object.
 61    /// </summary>
 62    public AddressFamily AddressFamily
 63    {
 64        get
 65        {
 25666            if (Address.Equals(IPAddress.None))
 67            {
 068                return Subnet.BaseAddress.AddressFamily.Equals(IPAddress.None)
 069                    ? AddressFamily.Unspecified
 070                    : Subnet.BaseAddress.AddressFamily;
 71            }
 72            else
 73            {
 25674                return Address.AddressFamily;
 75            }
 76        }
 77    }
 78}