Skip to content

Commit 08f37c3

Browse files
committed
fix: Patch work for internet status chekcing execution to make it compatible with single threaded environment.
Disable ee for unit/integration tests
1 parent 36185e4 commit 08f37c3

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

src/Api/PubnubApi/ClientNetworkStatus.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ internal static class ClientNetworkStatus
2525

2626
public static IPubnubLog PubnubLog { get; set; }
2727

28-
internal static async Task<bool> CheckInternetStatus<T>(bool systemActive, PNOperationType type, PNCallback<T> callback, string[] channels, string[] channelGroups)
28+
internal static bool CheckInternetStatus<T>(bool systemActive, PNOperationType type, PNCallback<T> callback, string[] channels, string[] channelGroups)
2929
{
3030
if (unit != null) {
3131
return unit.InternetAvailable;
3232
} else {
3333
try {
34-
await CheckClientNetworkAvailability(CallbackClientNetworkStatus, type, callback, channels, channelGroups).ConfigureAwait(false);
34+
return CheckClientNetworkAvailability(CallbackClientNetworkStatus, type, callback, channels, channelGroups);
3535
} catch (AggregateException ae) {
3636
foreach (var ie in ae.InnerExceptions) {
3737
LoggingMethod.WriteToLog(pubnubLog, string.Format(CultureInfo.InvariantCulture, "DateTime {0} AggregateException CheckInternetStatus Error: {1} {2} ", DateTime.Now.ToString(CultureInfo.InvariantCulture), ie.GetType().Name, ie.Message), pubnubConfig.LogVerbosity);
@@ -57,7 +57,7 @@ internal static bool IsInternetCheckRunning()
5757
return isInternetCheckRunning;
5858
}
5959

60-
private static async Task<bool> CheckClientNetworkAvailability<T>(Action<bool> internalCallback, PNOperationType type, PNCallback<T> callback, string[] channels, string[] channelGroups)
60+
private static bool CheckClientNetworkAvailability<T>(Action<bool> internalCallback, PNOperationType type, PNCallback<T> callback, string[] channels, string[] channelGroups)
6161
{
6262
lock (internetCheckLock) {
6363
if (isInternetCheckRunning) {
@@ -75,7 +75,7 @@ private static async Task<bool> CheckClientNetworkAvailability<T>(Action<bool> i
7575
ChannelGroups = channelGroups
7676
};
7777

78-
networkStatus = await CheckSocketConnect<T>(state).ConfigureAwait(false);
78+
CheckSocketConnect<T>(state).ConfigureAwait(false);
7979
return networkStatus;
8080
}
8181

@@ -100,6 +100,7 @@ private static async Task<bool> CheckSocketConnect<T>(object internetState)
100100
try {
101101
var gotTimeResp = await GetTimeWithTaskFactoryAsync().ConfigureAwait(false);
102102
isInternetCheckRunning = gotTimeResp;
103+
networkStatus = gotTimeResp;
103104
} catch (Exception ex) {
104105
networkStatus = false;
105106
LoggingMethod.WriteToLog(pubnubLog, string.Format(CultureInfo.InvariantCulture, "DateTime {0} CheckSocketConnect (HttpClient Or Task.Factory) Failed {1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), ex.Message), pubnubConfig.LogVerbosity);

src/Api/PubnubApi/PubnubCoreBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ protected bool CheckInternetConnectionStatus<T>(bool systemActive, PNOperationTy
247247
if (!ClientNetworkStatus.IsInternetCheckRunning())
248248
{
249249
clientNetworkStatusInternetStatus = ClientNetworkStatus
250-
.CheckInternetStatus<T>(PubnetSystemActive, type, callback, channels, channelGroups).Result;
250+
.CheckInternetStatus<T>(PubnetSystemActive, type, callback, channels, channelGroups);
251251
}
252252
return clientNetworkStatusInternetStatus;
253253
}

src/UnitTests/PubnubApi.Tests/TestHarness.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ protected static Pubnub createPubNubInstance(PNConfiguration pnConfiguration, st
2929
else
3030
{
3131
pnConfiguration.Origin = "ps.pndsn.com";
32+
pnConfiguration.EnableEventEngine = false;
3233
pubnub = new Pubnub(pnConfiguration);
3334
}
3435
if (!string.IsNullOrEmpty(authToken))

0 commit comments

Comments
 (0)