// [InlineData("10.1.10.5", StringSubnetClassA, 16_777_216)] public void IPAddressRange_IPAddressSubnet_Count(string ipAddressLowerInclusiveString, string ipAddressSubnetString, int total) { var ipAddressLowerInclusive = IPAddress.Parse(ipAddressLowerInclusiveString); var ipAddressSubnetInclusive = IPAddress.Parse(ipAddressSubnetString); var ipAddressSubnet = new IPAddressSubnet(ipAddressLowerInclusive, ipAddressSubnetInclusive); var ipAddressRange = new IPAddressRange(ipAddressSubnet); int count = 0; IPAddress ipAddressPrev = IPAddress.None; foreach (var ipAddress in ipAddressRange) { if (count++ == 0) { Assert.Equal(ipAddressSubnet.NetworkAddress, ipAddress); } else { Assert.Equal(ipAddress.Decrement(), ipAddressPrev); } ipAddressPrev = ipAddress; } Assert.Equal(total, count); Assert.Equal(ipAddressSubnet.BroadcastAddress, ipAddressPrev); }
/// <summary> /// Pings the network asynchronous. /// </summary> /// <param name="ipAddressSubnet">The ip address subnet.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <param name="timeout">The timeout.</param> /// <param name="pingCallLimit">The ping call limit.</param> /// <param name="waitBetweenPings">delay in milliseconds between pings</param> /// <param name="shuffle">if set to <c>true</c> [shuffle].</param> /// <returns>Task.</returns> /// <autogeneratedoc /> public Task PingNetworkAsync(IPAddressSubnet ipAddressSubnet, CancellationToken cancellationToken, int timeout, int pingCallLimit, int waitBetweenPings, bool shuffle) { var iPAddressSubnet = CommonServices.NetworkingSystem.GetDefaultGatewayAddressSubnet(); return(_pingTask.PingNetworkAsync(iPAddressSubnet, cancellationToken, timeout, pingCallLimit, waitBetweenPings, shuffle)); }
public void IPAddressSubnet_BroadcastAddress(IPAddress ipAddressBroadcast, IPAddress subnetAddress, IPAddress ipAddressExpected) { var ipAddressSubnet = new IPAddressSubnet(ipAddressBroadcast, subnetAddress); ipAddressSubnet.Should().NotBeNull(); ipAddressSubnet.BroadcastAddress.Should().Be(ipAddressExpected); }
/// <summary> /// Initializes a new instance of the <see cref="NetworkGateway"/> class. /// </summary> /// <param name="commonNetworkServices">The common network services.</param> /// <param name="ipAddressSubnetGateway">The ip address subnet gateway.</param> /// <exception cref="ArgumentNullException">ipAddressSubnetGateway</exception> /// <autogeneratedoc /> public NetworkGateway(ICommonNetworkServices commonNetworkServices, IPAddressSubnet ipAddressSubnetGateway) : base(commonNetworkServices, DeviceType.NetworkGateway, commonNetworkServices?.LoggerFactory.CreatePureLogger <NetworkGateway>()) { _ipAddressSubnet = ipAddressSubnetGateway ?? throw new ArgumentNullException(nameof(ipAddressSubnetGateway)); }
/// <summary> /// Initializes a new instance of the <see cref="PingJob"/> struct. /// </summary> /// <param name="jobGuid">The job unique identifier.</param> /// <param name="taskId">The task identifier.</param> /// <param name="iPAddressSubnet">The i p address subnet.</param> /// <param name="timestamp">The timestamp.</param> /// <autogeneratedoc /> public PingJob(Guid jobGuid, int taskId, IPAddressSubnet iPAddressSubnet, DateTimeOffset timestamp) { JobGuid = jobGuid; TaskId = taskId; IPAddressSubnet = iPAddressSubnet; Timestamp = timestamp; }
public void IPAddressSubnet_NetworkAddress(IPAddress ipAddressNetwork, IPAddress subnetAddress, IPAddress ipAddressExpected) { var ipAddressSubnet = new IPAddressSubnet(ipAddressNetwork, subnetAddress); ipAddressSubnet.Should().NotBeNull(); ipAddressSubnet.NetworkAddress.Should().Be(ipAddressExpected); }
public void IPAddressSubnet_CompareTo_Equal_DifferentSubnet() { var ipAddressSubnet1 = new IPAddressSubnet(TestAddressClassA, IPAddressExtensions.SubnetClassA); var ipAddressSubnet2 = new IPAddressSubnet(TestAddressClassA, IPAddressExtensions.SubnetClassC); // Subnet is ignored ipAddressSubnet1.CompareTo(ipAddressSubnet2).Should().Be(0); }
public void IPAddressSubnet_IsAddressOnSameSubnet_False() { var ipAddressSubnet1 = new IPAddressSubnet(TestAddressClassA, IPAddressExtensions.SubnetClassA); var ipAddressSubnet2 = new IPAddressSubnet(TestAddressClassC, IPAddressExtensions.SubnetClassC); // Subnet is ignored ipAddressSubnet1.IsAddressOnSameSubnet(ipAddressSubnet2.IPAddress).Should().BeFalse(); }
public async Task PingService_PingNetworkEvent_Shuffle() { var cancellationTokenSource = new CancellationTokenSource(); var ipAddressSubnet = new IPAddressSubnet(_networkingSystem.GetDefaultLocalNetworkAddress(), IPAddressExtensions.SubnetClassC); var pingServiceTask = _pingService.PingNetworkAsync(ipAddressSubnet, cancellationTokenSource.Token, DefaultNetworkTimeout, DefaultPingCalls, 1, true); cancellationTokenSource.CancelAfter(2000); await pingServiceTask; }
/// <summary> /// Gets the default local address subnet. /// </summary> /// <returns>IPAddressSubnet.</returns> /// <autogeneratedoc /> public IPAddressSubnet GetDefaultLocalAddressSubnet() { var ipAddressSubnet = new IPAddressSubnet(IPAddress.None, IPAddress.None); try { foreach (var networkInterface in GetAllNetworkInterfaces()) { ipAddressSubnet = IPv4AddressSubnetFromNetworkInterface(networkInterface); // break if we find an IPv4 Interface if (!ipAddressSubnet.Equals(IPAddressSubnet.None)) { break; } } } catch (Exception ex) { _logger?.LogError(ex, "GetDefaultLocalAddressSubnet failed"); } return(ipAddressSubnet); }
/// <summary> /// Nexts the task. /// </summary> /// <param name="ipAddress">The ip address.</param> /// <returns>System.Int32.</returns> /// <autogeneratedoc /> public int NextTask(IPAddress ipAddress) { IPAddressSubnet = new IPAddressSubnet(ipAddress, IPAddressSubnet.SubnetMask); return(++TaskId); }
/// <summary> /// Initializes a new instance of the <see cref="IPAddressRange"/> class. /// </summary> /// <param name="ipAddressSubnet">The ip address subnet.</param> /// <autogeneratedoc /> public IPAddressRange(IPAddressSubnet ipAddressSubnet) { IpAddressLowerInclusive = ipAddressSubnet.NetworkAddress; IpAddressUpperInclusive = ipAddressSubnet.BroadcastAddress; }
public void IPAddressSubnet_CompareTo_Equal() { var ipAddressSubnet = new IPAddressSubnet(TestAddressClassC, IPAddressExtensions.SubnetClassC); ipAddressSubnet.CompareTo(ipAddressSubnet).Should().Be(0); }
/// <summary> /// Initializes a new instance of the <see cref="NetworkEnumerator"/> class. /// </summary> /// <param name="ipAddressSubnet">The ip address subnet.</param> /// <autogeneratedoc /> public NetworkEnumerator(IPAddressSubnet ipAddressSubnet) { IPAddressRange = new IPAddressRange(ipAddressSubnet); }
public void IPAddressSubnet_CompareTo_Equals_Object() { var ipAddressSubnet = new IPAddressSubnet(TestAddressClassC, IPAddressExtensions.SubnetClassC); ipAddressSubnet.Equals((object)ipAddressSubnet).Should().BeTrue(); }
public async Task PingService_PingNetworkEvent_WithLogging() { var ipAddressSubnet = new IPAddressSubnet(_networkingSystem.GetDefaultLocalNetworkAddress(), IPAddressExtensions.SubnetClassC); await _pingService.PingNetworkAsync(ipAddressSubnet, CancellationToken.None, DefaultNetworkTimeout, DefaultPingCalls, 0, false); }
public void IPAddressSubnet_Constructor() { var ipAddressSubnet = new IPAddressSubnet(TestAddressClassA); ipAddressSubnet.Should().NotBeNull(); }