Another portion of pointless fixes for network issue debugging

This commit is contained in:
JustArchi
2017-01-31 09:04:40 +01:00
parent d183ec567a
commit b148c41147

View File

@@ -184,6 +184,7 @@ namespace ArchiSteamFarm {
CallbackManager.Subscribe<SteamApps.FreeLicenseCallback>(OnFreeLicense);
CallbackManager.Subscribe<SteamApps.GuestPassListCallback>(OnGuestPassList);
CallbackManager.Subscribe<SteamApps.LicenseListCallback>(OnLicenseList);
CallbackManager.Subscribe<SteamApps.PICSProductInfoCallback>(OnPICSProductInfo);
SteamFriends = SteamClient.GetHandler<SteamFriends>();
CallbackManager.Subscribe<SteamFriends.ChatInviteCallback>(OnChatInvite);
@@ -770,11 +771,12 @@ namespace ArchiSteamFarm {
TimeSpan timeSpan = TimeSpan.FromMilliseconds(CallbackSleep);
while (KeepRunning || SteamClient.IsConnected) {
if (!CallbackSemaphore.Wait(0)) {
ArchiLogger.LogGenericDebug(string.Format(Strings.WarningFailedWithError, nameof(CallbackSemaphore)));
return;
}
try {
CallbackManager.RunWaitCallbacks(timeSpan);
CallbackManager.RunWaitAllCallbacks(timeSpan);
} catch (Exception e) {
ArchiLogger.LogGenericException(e);
} finally {
@@ -811,12 +813,16 @@ namespace ArchiSteamFarm {
HeartBeatFailures = 0;
Statistics?.OnHeartBeat().Forget();
} catch {
} catch (Exception e) {
if (Debugging.IsDebugBuild || Program.GlobalConfig.Debug) {
ArchiLogger.LogGenericDebugException(e);
}
if (!KeepRunning || !IsConnectedAndLoggedOn || (HeartBeatFailures == byte.MaxValue)) {
return;
}
if (++HeartBeatFailures > (byte) Math.Ceiling(Program.GlobalConfig.ConnectionTimeout / 10.0)) {
if (++HeartBeatFailures >= (byte) Math.Ceiling(Program.GlobalConfig.ConnectionTimeout / 4.0)) {
HeartBeatFailures = byte.MaxValue;
ArchiLogger.LogGenericWarning(Strings.BotConnectionLost);
Connect(true).Forget();
@@ -1541,6 +1547,12 @@ namespace ArchiSteamFarm {
}
}
private void OnPICSProductInfo(SteamApps.PICSProductInfoCallback callback) {
if (callback == null) {
ArchiLogger.LogNullError(nameof(callback));
}
}
private void OnPlayingSessionState(ArchiHandler.PlayingSessionStateCallback callback) {
if (callback == null) {
ArchiLogger.LogNullError(nameof(callback));