Commit Graph

40 Commits

Author SHA1 Message Date
JustArchi
0892467526 Packages update 2017-06-03 19:05:54 +02:00
JustArchi
f7e0fca199 Packages update 2017-05-28 18:11:18 +02:00
JustArchi
6e00d35622 Rewrite Tuple to C# 7.0 ValueTuple
I wonder if Mono compiles this
2017-05-26 04:39:25 +02:00
JustArchi
2d95534c38 Packages update 2017-05-25 06:19:45 +02:00
JustArchi
4c93050b8e Packages update 2017-05-23 06:43:11 +02:00
JustArchi
5b60fd59df Packages update 2017-05-17 02:36:49 +02:00
JustArchi
8c5aa39c4e Packages update 2017-05-08 07:30:09 +02:00
JustArchi
3f0a522cdd Packages update 2017-05-06 02:17:40 +02:00
JustArchi
37599d730b Packages update 2017-04-29 23:26:59 +02:00
JustArchi
f5fbaa4c61 Packages update
Closes #531
2017-04-24 06:27:50 +02:00
JustArchi
e506930672 Revert "Packages update"
This reverts commit 32c54752cb.
2017-04-21 20:29:28 +02:00
JustArchi
32c54752cb Packages update 2017-04-21 20:25:16 +02:00
JustArchi
92bb7d0927 Humanize TimeSpans, get rid of dirty manual TimeSpan translations 2017-04-08 05:05:09 +02:00
JustArchi
adfc992f26 Resharper Cleanup v2 2017-04-05 17:23:18 +02:00
JustArchi
fcf9686a79 Revert "Resharper cleanup"
This reverts commit 7c8d7b5ada.

Bad cleanup.
2017-04-05 17:01:18 +02:00
JustArchi
7c8d7b5ada Resharper cleanup 2017-04-05 16:59:48 +02:00
JustArchi
ae1d71f5af Packages update 2017-04-05 14:18:44 +02:00
JustArchi
16509b9958 Packages update #514 2017-03-30 20:44:03 +02:00
JustArchi
8a54f1b355 Revert "EXPERIMENTAL: Packages update [1/2] #514"
This reverts commit 588af12d0b.

Not ready yet.
2017-03-29 13:01:36 +02:00
JustArchi
588af12d0b EXPERIMENTAL: Packages update [1/2] #514 2017-03-29 12:57:19 +02:00
JustArchi
f6317b9eae Packages update
Closes #508
2017-03-23 21:45:10 +01:00
JustArchi
39e7f5e60e Packages update 2017-03-21 14:28:05 +01:00
JustArchi
df8fdcca56 Packages update 2017-03-01 22:46:02 +01:00
JustArchi
2c15a4f5c5 Code cleanup 2017-03-01 22:38:57 +01:00
JustArchi
aeae5a1c9b Packages update 2017-02-23 17:08:40 +01:00
JustArchi
2aadc41847 Packages update
With important fix for https://github.com/NLog/NLog/issues/1965
2017-02-18 22:13:13 +01:00
JustArchi
0625e57333 Switch from self-compiled SK2 back to original SK2
It got updated so I no longer need my own version for bugfixes
2017-02-12 15:29:50 +01:00
JustArchi
a8045ac50b Fix async/await with ConcurrentHashSet
Now this is a nice bug that was found accidentally by ArchiBoT...
ReaderWriterLockSlim() is very decent solution, but it's thread-based, and we're using our ConcurrentHashSet in mixed async/sync context. This means that if we use something like:
foreach (var item in concHashSet) {
    await AnythingAsync().ConfigureAwait(false);
}
It's totally possible that we'll request read lock as thread 1, and release the read lock as thread 2, which will lead to RWLock exception => System.Threading.SynchronizationLockException: The read lock is being released without being held.
Fortunately it looks like we didn't have any scenario like this in ASF, as this was possible only when we async/await while enumerating over ConcurrentHashSet, so that specific bug didn't affect ASF codebase (yet). Still, I must fix this as current implementation is not thread-safe, so our HashSet is in fact not concurrent in the first place.
I analyzed possible solutions and there are basically 3: either using ConcurrentDictionary and wrapping around it, replacing lock with SemaphoreSlim, or using third-party AsyncReaderWriterLock from StephenCleary. SemaphoreSlim entirely kills the concept of multiple readers one writer, and could affect performance negatively, moreover - it doesn't support upgreadable lock scenario we have with ReplaceIfNeededWith(). Concurrent dictionary would be nice if I didn't have that awful memory hit from storing mandatory pointless value, plus I don't really like concept of wrapping around conc dictionary if I can simply use it right away and drop my conc hashset entirely. AsyncReaderWriterLock seem to be really well written, and works on Mono + should be compatible with .NET core in the future, so we should go for it as it's the best bet both performance-wise and memory-wise.
This brings another package dependency and changes a bit backend of ConcurrentHashSet
2017-02-07 20:14:51 +01:00
JustArchi
8fa2795323 Packages update 2017-01-24 02:58:43 +01:00
JustArchi
ac78a0ab39 Packages update 2017-01-19 16:38:28 +01:00
JustArchi
653b910d2e Start embedding localizations 2017-01-07 02:39:29 +01:00
JustArchi
cf21c2a815 Remove dependency on Humanizer 2016-12-26 23:08:27 +01:00
JustArchi
ba3461b58f Packages update 2016-12-26 22:10:56 +01:00
JustArchi
33edc81116 Add farming time approximation
Because @MaduRUDE asked nicely
2016-12-26 22:07:49 +01:00
JustArchi
df218074ad Gigantic code cleanup
Time to enforce some common file layout, as general mess started to annoying me. Sorry in advance for people using custom forks and having merge conflicts, this will help everybody in long-run
2016-11-24 07:32:16 +01:00
JustArchi
c6843b8347 Packages update 2016-11-05 08:03:42 +01:00
JustArchi
5c686397dd Packages update 2016-10-05 08:53:20 +02:00
JustArchi
f88bfe9f83 Make CardDropsRestricted true by default
After evaluation, it seems that more accounts have card drops restricted rather than not, and having it as true when in reality it's false results in less performance degradation than the other way
2016-08-03 17:16:11 +02:00
JustArchi
612abef327 Work on GUI
There is still a long way till it's done...
2016-08-02 08:50:31 +02:00
JustArchi
97224aafaf Bring initial GUI project 2016-08-02 06:13:58 +02:00