-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
After commit 555b28f we encountered a lot of... See merge request vostok-libraries/clusterclient.core!4
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
using System; | ||
|
||
namespace Vostok.Clusterclient.Core.Misc; | ||
|
||
internal static class ClusterClientConstants | ||
{ | ||
//(deniaa): We can't use "null" as connection time budget because of a bug in Net6. | ||
// Also we can't use TimeBudget.Remaining as connection time budget for the last attempt in strategies | ||
// because of HttpMessageHandler cache in Vostok.Clusterclient.Transport.Sockets.SocketsHandlerProvider. | ||
// Connection timeout is a key in this cache and we don't want to create a new HttpMessageHandler for each request. | ||
// So we want to have only one constant "Infinite" for the whole ClusterClient. | ||
public static TimeSpan LastAttemptConnectionTimeBudget = TimeSpan.FromSeconds(7); | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
using System; | ||
using Vostok.Commons.Time; | ||
|
||
namespace Vostok.Clusterclient.Core.Misc; | ||
|
||
internal static class TimeSpanExtensions | ||
{ | ||
public static TimeSpan? SelectConnectionTimeoutForLastAttempt(TimeSpan lastAttemptConnectionTimeBudget, TimeSpan? connectionTimeoutFromParameters) | ||
{ | ||
return connectionTimeoutFromParameters == null | ||
? lastAttemptConnectionTimeBudget | ||
: TimeSpanArithmetics.Max(lastAttemptConnectionTimeBudget, connectionTimeoutFromParameters.Value); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
static Vostok.Clusterclient.Core.Misc.ClusterClientConstants.LastAttemptConnectionTimeBudget -> System.TimeSpan | ||
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
Check failure on line 1 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
|
||
static Vostok.Clusterclient.Core.Misc.TimeSpanExtensions.Max(System.TimeSpan lastAttemptConnectionTimeBudget, System.TimeSpan? connectionTimeoutFromParameters) -> System.TimeSpan? | ||
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
Check failure on line 2 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
|
||
Vostok.Clusterclient.Core.Misc.ClusterClientConstants | ||
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
Check failure on line 3 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
|
||
Vostok.Clusterclient.Core.Misc.TimeSpanExtensions | ||
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, cement)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (ubuntu-latest, nuget)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, nuget)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (macos-12, cement)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, cement)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
Check failure on line 4 in Vostok.ClusterClient.Core/PublicAPI.Unshipped.txt GitHub Actions / build / build (windows-latest, nuget)
|