Cleanup/Housekeeping (#242)
This commit is contained in:
parent
90ede0659f
commit
741e8d8300
228 changed files with 6292 additions and 2690 deletions
|
|
@ -1,23 +1,3 @@
|
|||
/***************************************************************************
|
||||
* ParallelSaveStrategy.cs
|
||||
* -------------------
|
||||
* begin : May 1, 2002
|
||||
* copyright : (C) The RunUO Software Team
|
||||
* email : info@runuo.com
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
|
@ -77,14 +57,23 @@ namespace Server
|
|||
|
||||
consumers = new Consumer[GetThreadCount()];
|
||||
|
||||
for (var i = 0; i < consumers.Length; ++i) consumers[i] = new Consumer(this, 256);
|
||||
for (var i = 0; i < consumers.Length; ++i)
|
||||
{
|
||||
consumers[i] = new Consumer(this, 256);
|
||||
}
|
||||
|
||||
IEnumerable<ISerializable> collection = new Producer();
|
||||
|
||||
foreach (var value in collection)
|
||||
{
|
||||
while (!Enqueue(value))
|
||||
{
|
||||
if (!Commit())
|
||||
{
|
||||
Thread.Sleep(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finished = true;
|
||||
|
||||
|
|
@ -108,7 +97,10 @@ namespace Server
|
|||
{
|
||||
var item = _decayQueue.Dequeue();
|
||||
|
||||
if (item.OnDecay()) item.Delete();
|
||||
if (item.OnDecay())
|
||||
{
|
||||
item.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +116,10 @@ namespace Server
|
|||
|
||||
bfw.Write(types.Count);
|
||||
|
||||
foreach (var type in types) bfw.Write(type.FullName);
|
||||
foreach (var type in types)
|
||||
{
|
||||
bfw.Write(type.FullName);
|
||||
}
|
||||
|
||||
bfw.Flush();
|
||||
|
||||
|
|
@ -179,11 +174,17 @@ namespace Server
|
|||
var writer = entry.writer;
|
||||
|
||||
if (value is Item item)
|
||||
{
|
||||
Save(item, writer);
|
||||
}
|
||||
else if (value is Mobile mob)
|
||||
{
|
||||
Save(mob, writer);
|
||||
}
|
||||
else if (value is BaseGuild guild)
|
||||
{
|
||||
Save(guild, writer);
|
||||
}
|
||||
}
|
||||
|
||||
private void Save(Item item, BinaryMemoryWriter writer)
|
||||
|
|
@ -191,7 +192,10 @@ namespace Server
|
|||
writer.CommitTo(itemData, itemIndex, item.TypeRef, item.Serial);
|
||||
|
||||
if (item.Decays && item.Parent == null && item.Map != Map.Internal &&
|
||||
DateTime.UtcNow > item.LastMoved + item.DecayTime) _decayQueue.Enqueue(item);
|
||||
DateTime.UtcNow > item.LastMoved + item.DecayTime)
|
||||
{
|
||||
_decayQueue.Enqueue(item);
|
||||
}
|
||||
}
|
||||
|
||||
private void Save(Mobile mob, BinaryMemoryWriter writer)
|
||||
|
|
@ -273,11 +277,20 @@ namespace Server
|
|||
|
||||
public IEnumerator<ISerializable> GetEnumerator()
|
||||
{
|
||||
foreach (var item in items) yield return item;
|
||||
foreach (var item in items)
|
||||
{
|
||||
yield return item;
|
||||
}
|
||||
|
||||
foreach (var mob in mobiles) yield return mob;
|
||||
foreach (var mob in mobiles)
|
||||
{
|
||||
yield return mob;
|
||||
}
|
||||
|
||||
foreach (var guild in guilds) yield return guild;
|
||||
foreach (var guild in guilds)
|
||||
{
|
||||
yield return guild;
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() => throw new NotImplementedException();
|
||||
|
|
@ -305,7 +318,10 @@ namespace Server
|
|||
|
||||
buffer = new ConsumableEntry[bufferSize];
|
||||
|
||||
for (var i = 0; i < buffer.Length; ++i) buffer[i].writer = new BinaryMemoryWriter();
|
||||
for (var i = 0; i < buffer.Length; ++i)
|
||||
{
|
||||
buffer[i].writer = new BinaryMemoryWriter();
|
||||
}
|
||||
|
||||
completionEvent = new ManualResetEvent(false);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue