mirror of
https://github.com/sochix/TLSharp.git
synced 2025-12-06 08:02:00 +01:00
- removed assignements to int for the Enum DataCenterIPVersion
- removed sorting of the list of addresses if the DataCenterIPVersion.Default is chosen
This commit is contained in:
parent
365fe6775e
commit
2f67993e93
|
|
@ -7,24 +7,24 @@
|
||||||
public enum DataCenterIPVersion
|
public enum DataCenterIPVersion
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Prefers IPv6 addresses if any is passed by Telegram
|
/// Picks the first available address passed by Telegram
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Default = 0,
|
Default,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Takes only IPv4 addresses
|
/// Takes only IPv4 addresses
|
||||||
/// </summary>
|
/// </summary>
|
||||||
OnlyIPv4 = 1,
|
OnlyIPv4,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Takes only IPv6 addresses
|
/// Takes only IPv6 addresses
|
||||||
/// </summary>
|
/// </summary>
|
||||||
OnlyIPv6 = 2,
|
OnlyIPv6,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Connection to IPv4 addresses is preferred to IPv6 addresses
|
/// Connection to IPv4 addresses is preferred to IPv6 addresses
|
||||||
/// </summary>
|
/// </summary>
|
||||||
PreferIPv4 = 3,
|
PreferIPv4,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Connection to IPv6 addresses is preferred to IPv4 addresses
|
/// Connection to IPv6 addresses is preferred to IPv4 addresses
|
||||||
/// </summary>
|
/// </summary>
|
||||||
PreferIPv6 = 4,
|
PreferIPv6,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -121,12 +121,18 @@ namespace TLSharp.Core
|
||||||
|| dcIpVersion == DataCenterIPVersion.PreferIPv4 // we can take both types of address
|
|| dcIpVersion == DataCenterIPVersion.PreferIPv4 // we can take both types of address
|
||||||
|| dcIpVersion == DataCenterIPVersion.PreferIPv6 // we can take both types of address
|
|| dcIpVersion == DataCenterIPVersion.PreferIPv6 // we can take both types of address
|
||||||
)
|
)
|
||||||
).OrderBy(d => d.Ipv6);
|
);
|
||||||
|
|
||||||
|
TLDcOption dc;
|
||||||
|
if (dcIpVersion != DataCenterIPVersion.Default)
|
||||||
|
{
|
||||||
if (dcs.Count() == 0)
|
if (dcs.Count() == 0)
|
||||||
throw new Exception($"Telegram server didn't provide us with any IPAddress that matches your preferences. If you chose OnlyIPvX, try switch to PreferIPvX instead.");
|
throw new Exception($"Telegram server didn't provide us with any IPAddress that matches your preferences. If you chose OnlyIPvX, try switch to PreferIPvX instead.");
|
||||||
|
dcs = dcs.OrderBy(d => d.Ipv6);
|
||||||
var dc = dcIpVersion == DataCenterIPVersion.PreferIPv4 ? dcs.First() : dcs.Last(); // ipv4 addresses are at the beginning of the list because it was ordered
|
dc = dcIpVersion == DataCenterIPVersion.PreferIPv4 ? dcs.First() : dcs.Last(); // ipv4 addresses are at the beginning of the list because it was ordered
|
||||||
|
}
|
||||||
|
else
|
||||||
|
dc = dcs.First();
|
||||||
|
|
||||||
var dataCenter = new DataCenter (dcId, dc.IpAddress, dc.Port);
|
var dataCenter = new DataCenter (dcId, dc.IpAddress, dc.Port);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue