servuo/Server/Persistence/SaveStrategy.cs
VitaNex f840e50340 Updated .editorconfig file with advanced configuration settings that will help maintain user code style and best practices with most IDE's.
Complete core housekeeping operation using "Profile 1" with new .editorconfig settings.
2021-01-15 12:51:10 -08:00

38 lines
No EOL
765 B
C#

namespace Server
{
public abstract class SaveStrategy
{
public abstract string Name { get; }
public static SaveStrategy Acquire()
{
if (Core.MultiProcessor)
{
var processorCount = Core.ProcessorCount;
#if DynamicSaveStrategy
if (processorCount > 2)
{
return new DynamicSaveStrategy();
}
#else
if (processorCount > 16)
{
return new ParallelSaveStrategy(processorCount);
}
#endif
else
{
return new DualSaveStrategy();
}
}
else
{
return new StandardSaveStrategy();
}
}
public abstract void Save(SaveMetrics metrics, bool permitBackgroundWrite);
public abstract void ProcessDecay();
}
}