Prototype load parallelization (#3502)

This commit is contained in:
Pieter-Jan Briers
2022-12-20 22:46:30 +01:00
committed by GitHub
parent 2aafb21772
commit 84733a335c
94 changed files with 2140 additions and 1249 deletions

View File

@@ -7,6 +7,7 @@ using Robust.Shared.IoC;
using Robust.Shared.Network;
using Robust.Shared.Network.Messages;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Markdown;
using YamlDotNet.RepresentationModel;
namespace Robust.UnitTesting
@@ -48,6 +49,11 @@ namespace Robust.UnitTesting
// Nada.
}
public void AddStrings(DataNode dataNode)
{
// Nada.
}
public void AddStrings(IEnumerable<string> strings)
{
// Nada.

View File

@@ -62,7 +62,7 @@ namespace Robust.UnitTesting.Server.GameObjects.Components
IoCManager.Resolve<ISerializationManager>().Initialize();
var manager = IoCManager.Resolve<IPrototypeManager>();
manager.RegisterType(typeof(EntityPrototype));
manager.RegisterKind(typeof(EntityPrototype));
manager.LoadFromStream(new StringReader(PROTOTYPES));
manager.ResolveResults();

View File

@@ -77,7 +77,7 @@ entities:
resourceManager.MountString("/EnginePrototypes/TestMapEntity.yml", Prototype);
var protoMan = IoCManager.Resolve<IPrototypeManager>();
protoMan.RegisterType(typeof(EntityPrototype));
protoMan.RegisterKind(typeof(EntityPrototype));
protoMan.LoadDirectory(new ResourcePath("/EnginePrototypes"));
protoMan.LoadDirectory(new ResourcePath("/Prototypes"));

View File

@@ -308,7 +308,7 @@ namespace Robust.UnitTesting.Server
container.Resolve<ISerializationManager>().Initialize();
var protoMan = container.Resolve<IPrototypeManager>();
protoMan.RegisterType(typeof(EntityPrototype));
protoMan.RegisterKind(typeof(EntityPrototype));
_protoDelegate?.Invoke(protoMan);
protoMan.ResolveResults();

View File

@@ -31,7 +31,7 @@ namespace Robust.UnitTesting.Shared.Localization
var protoMan = IoCManager.Resolve<IPrototypeManager>();
protoMan.RegisterType(typeof(EntityPrototype));
protoMan.RegisterKind(typeof(EntityPrototype));
protoMan.LoadDirectory(new ResourcePath("/EnginePrototypes"));
protoMan.ResolveResults();

View File

@@ -30,7 +30,7 @@ namespace Robust.UnitTesting.Shared.Map
{
IoCManager.Resolve<ISerializationManager>().Initialize();
var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
prototypeManager.RegisterType(typeof(EntityPrototype));
prototypeManager.RegisterKind(typeof(EntityPrototype));
prototypeManager.LoadFromStream(new StringReader(PROTOTYPES));
prototypeManager.ResolveResults();

View File

@@ -47,7 +47,7 @@ namespace Robust.UnitTesting.Shared.Prototypes
IoCManager.Resolve<ISerializationManager>().Initialize();
_prototypes = (PrototypeManager) IoCManager.Resolve<IPrototypeManager>();
_prototypes.RegisterType(typeof(EntityPrototype));
_prototypes.RegisterKind(typeof(EntityPrototype));
_prototypes.LoadString(InitialPrototypes);
_prototypes.ResolveResults();

View File

@@ -28,7 +28,7 @@ namespace Robust.UnitTesting.Shared.Prototypes
IoCManager.Resolve<ISerializationManager>().Initialize();
manager = IoCManager.Resolve<IPrototypeManager>();
manager.RegisterType(typeof(EntityPrototype));
manager.RegisterKind(typeof(EntityPrototype));
manager.LoadString(DOCUMENT);
manager.ResolveResults();
}
@@ -126,7 +126,7 @@ namespace Robust.UnitTesting.Shared.Prototypes
parent: {parent}";
}
manager.RegisterType(typeof(CircleTestPrototype));
manager.RegisterKind(typeof(CircleTestPrototype));
var directCircle = $@"{GenerateCircleTestPrototype("1", "2")}
{GenerateCircleTestPrototype("2", "1")}";

View File

@@ -58,7 +58,7 @@ namespace Robust.UnitTesting.Shared.Serialization
var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
prototypeManager.RegisterType(typeof(EntityPrototype));
prototypeManager.RegisterKind(typeof(EntityPrototype));
prototypeManager.LoadString(Prototypes);
prototypeManager.ResolveResults();

View File

@@ -49,7 +49,7 @@ public sealed partial class DataDefinitionTests
}
public int Read(ISerializationManager serializationManager, ValueDataNode node, IDependencyCollection dependencies,
bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<int>? instanceProvider = null)
SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<int>? instanceProvider = null)
{
return SerializerReturnInt;
}
@@ -61,7 +61,7 @@ public sealed partial class DataDefinitionTests
}
public DataDummyStruct Read(ISerializationManager serializationManager, ValueDataNode node, IDependencyCollection dependencies,
bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyStruct>? instanceProvider = null)
SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyStruct>? instanceProvider = null)
{
return SerializerReturnStruct;
}
@@ -73,7 +73,7 @@ public sealed partial class DataDefinitionTests
}
public DataDummyClass Read(ISerializationManager serializationManager, ValueDataNode node, IDependencyCollection dependencies,
bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyClass>? instanceProvider = null)
SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyClass>? instanceProvider = null)
{
return SerializerReturnClass;
}
@@ -84,37 +84,37 @@ public sealed partial class DataDefinitionTests
return SerializerValueDataNode;
}
public void CopyTo(ISerializationManager serializationManager, int source, ref int target, bool skipHook,
public void CopyTo(ISerializationManager serializationManager, int source, ref int target, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
target = SerializerReturnInt;
}
public int CreateCopy(ISerializationManager serializationManager, int source, bool skipHook,
public int CreateCopy(ISerializationManager serializationManager, int source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnInt;
}
public void CopyTo(ISerializationManager serializationManager, DataDummyStruct source, ref DataDummyStruct target,
bool skipHook, ISerializationContext? context = null)
SerializationHookContext hookCtx, ISerializationContext? context = null)
{
target = SerializerReturnStruct;
}
public DataDummyStruct CreateCopy(ISerializationManager serializationManager, DataDummyStruct source, bool skipHook,
public DataDummyStruct CreateCopy(ISerializationManager serializationManager, DataDummyStruct source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnStruct;
}
public void CopyTo(ISerializationManager serializationManager, DataDummyClass source, ref DataDummyClass target, bool skipHook,
public void CopyTo(ISerializationManager serializationManager, DataDummyClass source, ref DataDummyClass target, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
target = SerializerReturnClass;
}
public DataDummyClass CreateCopy(ISerializationManager serializationManager, DataDummyClass source, bool skipHook,
public DataDummyClass CreateCopy(ISerializationManager serializationManager, DataDummyClass source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnClass;
@@ -148,7 +148,7 @@ public sealed partial class DataDefinitionTests
}
public int Read(ISerializationManager serializationManager, SequenceDataNode node, IDependencyCollection dependencies,
bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<int>? instanceProvider = null)
SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<int>? instanceProvider = null)
{
return SerializerReturnInt;
}
@@ -161,7 +161,7 @@ public sealed partial class DataDefinitionTests
public DataDummyStruct Read(ISerializationManager serializationManager, SequenceDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyStruct>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyStruct>? instanceProvider = null)
{
return SerializerReturnStruct;
}
@@ -173,7 +173,7 @@ public sealed partial class DataDefinitionTests
}
public DataDummyClass Read(ISerializationManager serializationManager, SequenceDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyClass>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyClass>? instanceProvider = null)
{
return SerializerReturnClass;
}
@@ -184,37 +184,37 @@ public sealed partial class DataDefinitionTests
return SerializerSequenceDataNode;
}
public void CopyTo(ISerializationManager serializationManager, int source, ref int target, bool skipHook,
public void CopyTo(ISerializationManager serializationManager, int source, ref int target, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
target = SerializerReturnInt;
}
public int CreateCopy(ISerializationManager serializationManager, int source, bool skipHook,
public int CreateCopy(ISerializationManager serializationManager, int source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnInt;
}
public void CopyTo(ISerializationManager serializationManager, DataDummyStruct source, ref DataDummyStruct target,
bool skipHook, ISerializationContext? context = null)
SerializationHookContext hookCtx, ISerializationContext? context = null)
{
target = SerializerReturnStruct;
}
public DataDummyStruct CreateCopy(ISerializationManager serializationManager, DataDummyStruct source, bool skipHook,
public DataDummyStruct CreateCopy(ISerializationManager serializationManager, DataDummyStruct source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnStruct;
}
public void CopyTo(ISerializationManager serializationManager, DataDummyClass source, ref DataDummyClass target, bool skipHook,
public void CopyTo(ISerializationManager serializationManager, DataDummyClass source, ref DataDummyClass target, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
target = SerializerReturnClass;
}
public DataDummyClass CreateCopy(ISerializationManager serializationManager, DataDummyClass source, bool skipHook,
public DataDummyClass CreateCopy(ISerializationManager serializationManager, DataDummyClass source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnClass;
@@ -248,7 +248,7 @@ public sealed partial class DataDefinitionTests
}
public int Read(ISerializationManager serializationManager, MappingDataNode node, IDependencyCollection dependencies,
bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<int>? instanceProvider = null)
SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<int>? instanceProvider = null)
{
return SerializerReturnInt;
}
@@ -260,7 +260,7 @@ public sealed partial class DataDefinitionTests
}
public DataDummyStruct Read(ISerializationManager serializationManager, MappingDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyStruct>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyStruct>? instanceProvider = null)
{
return SerializerReturnStruct;
}
@@ -272,7 +272,7 @@ public sealed partial class DataDefinitionTests
}
public DataDummyClass Read(ISerializationManager serializationManager, MappingDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyClass>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<DataDummyClass>? instanceProvider = null)
{
return SerializerReturnClass;
}
@@ -283,37 +283,37 @@ public sealed partial class DataDefinitionTests
return SerializerMappingDataNode;
}
public void CopyTo(ISerializationManager serializationManager, int source, ref int target, bool skipHook,
public void CopyTo(ISerializationManager serializationManager, int source, ref int target, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
target = SerializerReturnInt;
}
public int CreateCopy(ISerializationManager serializationManager, int source, bool skipHook,
public int CreateCopy(ISerializationManager serializationManager, int source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnInt;
}
public void CopyTo(ISerializationManager serializationManager, DataDummyStruct source, ref DataDummyStruct target,
bool skipHook, ISerializationContext? context = null)
SerializationHookContext hookCtx, ISerializationContext? context = null)
{
target = SerializerReturnStruct;
}
public DataDummyStruct CreateCopy(ISerializationManager serializationManager, DataDummyStruct source, bool skipHook,
public DataDummyStruct CreateCopy(ISerializationManager serializationManager, DataDummyStruct source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnStruct;
}
public void CopyTo(ISerializationManager serializationManager, DataDummyClass source, ref DataDummyClass target, bool skipHook,
public void CopyTo(ISerializationManager serializationManager, DataDummyClass source, ref DataDummyClass target, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
target = SerializerReturnClass;
}
public DataDummyClass CreateCopy(ISerializationManager serializationManager, DataDummyClass source, bool skipHook,
public DataDummyClass CreateCopy(ISerializationManager serializationManager, DataDummyClass source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return SerializerReturnClass;

View File

@@ -49,7 +49,7 @@ public sealed partial class ManagerTests : ISerializationContext
}
public SerializerStruct Read(ISerializationManager serializationManager, ValueDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerStruct>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerStruct>? instanceProvider = null)
{
Assert.That(node, Is.EqualTo(SerializerRanDataNode));
return SerializerStruct.SerializerReturn();
@@ -62,13 +62,13 @@ public sealed partial class ManagerTests : ISerializationContext
}
public void CopyTo(ISerializationManager serializationManager, SerializerStruct source, ref SerializerStruct target,
bool skipHook, ISerializationContext? context = null)
SerializationHookContext hookCtx, ISerializationContext? context = null)
{
target.OneValue = source.OneValue;
target.TwoValue = source.TwoValue;
}
public SerializerStruct CreateCopy(ISerializationManager serializationManager, SerializerStruct source, bool skipHook,
public SerializerStruct CreateCopy(ISerializationManager serializationManager, SerializerStruct source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return new SerializerStruct(source.OneValue, source.TwoValue);
@@ -84,7 +84,7 @@ public sealed partial class ManagerTests : ISerializationContext
}
public SerializerStruct Read(ISerializationManager serializationManager, ValueDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerStruct>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerStruct>? instanceProvider = null)
{
Assert.That(node, Is.EqualTo(SerializerRanCustomDataNode));
return SerializerStruct.SerializerCustomReturn();
@@ -97,13 +97,13 @@ public sealed partial class ManagerTests : ISerializationContext
}
public void CopyTo(ISerializationManager serializationManager, SerializerStruct source, ref SerializerStruct target,
bool skipHook, ISerializationContext? context = null)
SerializationHookContext hookCtx, ISerializationContext? context = null)
{
target.OneValue = source.OneValue;
target.TwoValue = source.TwoValue;
}
public SerializerStruct CreateCopy(ISerializationManager serializationManager, SerializerStruct source, bool skipHook,
public SerializerStruct CreateCopy(ISerializationManager serializationManager, SerializerStruct source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return new SerializerStruct(source.OneValue, source.TwoValue);
@@ -132,7 +132,7 @@ public sealed partial class ManagerTests : ISerializationContext
}
public SerializerClass Read(ISerializationManager serializationManager, ValueDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerClass>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerClass>? instanceProvider = null)
{
Assert.That(node, Is.EqualTo(SerializerRanDataNode));
return SerializerClass.SerializerReturn();
@@ -144,7 +144,7 @@ public sealed partial class ManagerTests : ISerializationContext
return SerializerRanDataNode;
}
public SerializerClass CreateCopy(ISerializationManager serializationManager, SerializerClass source, bool skipHook,
public SerializerClass CreateCopy(ISerializationManager serializationManager, SerializerClass source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return new SerializerClass(source.OneValue, source.TwoValue);
@@ -160,7 +160,7 @@ public sealed partial class ManagerTests : ISerializationContext
}
public SerializerClass Read(ISerializationManager serializationManager, ValueDataNode node,
IDependencyCollection dependencies, bool skipHook, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerClass>? instanceProvider = null)
IDependencyCollection dependencies, SerializationHookContext hookCtx, ISerializationContext? context = null, ISerializationManager.InstantiationDelegate<SerializerClass>? instanceProvider = null)
{
Assert.That(node, Is.EqualTo(SerializerRanCustomDataNode));
return SerializerClass.SerializerCustomReturn();
@@ -172,7 +172,7 @@ public sealed partial class ManagerTests : ISerializationContext
return SerializerRanCustomDataNode;
}
public SerializerClass CreateCopy(ISerializationManager serializationManager, SerializerClass source, bool skipHook,
public SerializerClass CreateCopy(ISerializationManager serializationManager, SerializerClass source, SerializationHookContext hookCtx,
ISerializationContext? context = null)
{
return new SerializerClass(source.OneValue, source.TwoValue);

View File

@@ -45,7 +45,7 @@ entitiesImmutableList:
{
var protoMan = IoCManager.Resolve<IPrototypeManager>();
protoMan.RegisterType(typeof(EntityPrototype));
protoMan.RegisterKind(typeof(EntityPrototype));
protoMan.LoadString(Prototypes);
protoMan.ResolveResults();
}