< 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: 79
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

Metrics

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

File(s)

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

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