mirror of
https://github.com/ServUO/ServUO
synced 2026-08-11 20:23:04 -04:00
38 lines
No EOL
765 B
C#
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();
|
|
}
|
|
} |