1
0
mirror of https://github.com/chylex/Minecraft-Phantom-Panel.git synced 2025-04-10 20:15:44 +02:00

Enable version tolerant mode for all MemoryPack structures

This commit is contained in:
chylex 2023-03-30 13:02:12 +02:00
parent 46dba1a4fa
commit 626f141a2c
Signed by: chylex
GPG Key ID: 4DE42C8F19A80548
30 changed files with 42 additions and 42 deletions

View File

@ -4,7 +4,7 @@ using MemoryPack;
namespace Phantom.Common.Data.Agent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public sealed partial class AgentAuthToken {
internal const int Length = 12;

View File

@ -2,7 +2,7 @@
namespace Phantom.Common.Data.Agent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record AgentInfo(
[property: MemoryPackOrder(0)] Guid Guid,
[property: MemoryPackOrder(1)] string Name,

View File

@ -4,7 +4,7 @@ using MemoryPack;
namespace Phantom.Common.Data;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial class AllowedPorts {
[MemoryPackOrder(0)]
[MemoryPackInclude]

View File

@ -2,7 +2,7 @@
namespace Phantom.Common.Data.Backups;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record BackupCreationResult(
[property: MemoryPackOrder(0)] BackupCreationResultKind Kind,
[property: MemoryPackOrder(1)] BackupCreationWarnings Warnings = BackupCreationWarnings.None

View File

@ -13,35 +13,35 @@ public partial interface IInstanceEvent {
void Accept(IInstanceEventVisitor visitor);
}
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceLaunchSuccededEvent : IInstanceEvent {
public void Accept(IInstanceEventVisitor visitor) {
visitor.OnLaunchSucceeded(this);
}
}
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceLaunchFailedEvent([property: MemoryPackOrder(0)] InstanceLaunchFailReason Reason) : IInstanceEvent {
public void Accept(IInstanceEventVisitor visitor) {
visitor.OnLaunchFailed(this);
}
}
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceCrashedEvent : IInstanceEvent {
public void Accept(IInstanceEventVisitor visitor) {
visitor.OnCrashed(this);
}
}
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceStoppedEvent : IInstanceEvent {
public void Accept(IInstanceEventVisitor visitor) {
visitor.OnStopped(this);
}
}
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceBackupCompletedEvent([property: MemoryPackOrder(0)] BackupCreationResultKind Kind, [property: MemoryPackOrder(1)] BackupCreationWarnings Warnings) : IInstanceEvent {
public void Accept(IInstanceEventVisitor visitor) {
visitor.OnBackupCompleted(this);

View File

@ -14,31 +14,31 @@ namespace Phantom.Common.Data.Instance;
[MemoryPackUnion(8, typeof(InstanceIsFailed))]
public partial interface IInstanceStatus {}
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsOffline : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsInvalid([property: MemoryPackOrder(0)] string Reason) : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsNotRunning : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsDownloading([property: MemoryPackOrder(0)] byte Progress) : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsLaunching : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsRunning : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsRestarting : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsStopping : IInstanceStatus;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceIsFailed([property: MemoryPackOrder(0)] InstanceLaunchFailReason Reason) : IInstanceStatus;
public static class InstanceStatus {

View File

@ -4,7 +4,7 @@ using Phantom.Common.Data.Minecraft;
namespace Phantom.Common.Data.Instance;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceConfiguration(
[property: MemoryPackOrder(0)] Guid AgentGuid,
[property: MemoryPackOrder(1)] Guid InstanceGuid,

View File

@ -3,7 +3,7 @@ using Phantom.Common.Data.Minecraft;
namespace Phantom.Common.Data.Instance;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceLaunchProperties(
[property: MemoryPackOrder(0)] FileDownloadInfo? ServerDownloadInfo
);

View File

@ -3,7 +3,7 @@ using MemoryPack;
namespace Phantom.Common.Data.Java;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record JavaRuntime(
[property: MemoryPackOrder(0)] string MainVersion,
[property: MemoryPackOrder(1)] string FullVersion,

View File

@ -2,7 +2,7 @@
namespace Phantom.Common.Data.Java;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record TaggedJavaRuntime(
[property: MemoryPackOrder(0)] Guid Guid,
[property: MemoryPackOrder(1)] JavaRuntime Runtime

View File

@ -4,7 +4,7 @@ using Phantom.Utils.IO;
namespace Phantom.Common.Data.Minecraft;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial class FileDownloadInfo {
[MemoryPackOrder(0)]
public string DownloadUrl { get; }

View File

@ -2,7 +2,7 @@
namespace Phantom.Common.Data.Minecraft;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public readonly partial record struct MinecraftStopStrategy(
[property: MemoryPackOrder(0)] ushort Seconds
) {

View File

@ -3,7 +3,7 @@ using MemoryPack;
namespace Phantom.Common.Data;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
readonly partial record struct PortRange(
[property: MemoryPackOrder(0)] ushort FirstPort,
[property: MemoryPackOrder(1)] ushort LastPort

View File

@ -6,7 +6,7 @@ namespace Phantom.Common.Data;
/// <summary>
/// Represents a number of RAM allocation units, using the conversion factor of 256 MB per unit. Supports allocations up to 16 TB minus 256 MB (65535 units).
/// </summary>
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public readonly partial record struct RamAllocationUnits(
[property: MemoryPackOrder(0)] ushort RawValue

View File

@ -2,7 +2,7 @@
namespace Phantom.Common.Data.Replies;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceActionResult<T>(
[property: MemoryPackOrder(0)] InstanceActionGeneralResult GeneralResult,
[property: MemoryPackOrder(1)] T? ConcreteResult

View File

@ -3,7 +3,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.BiDirectional;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record ReplyMessage(
[property: MemoryPackOrder(0)] uint SequenceId,
[property: MemoryPackOrder(1)] byte[] SerializedReply

View File

@ -4,7 +4,7 @@ using Phantom.Common.Data.Replies;
namespace Phantom.Common.Messages.ToAgent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record ConfigureInstanceMessage(
[property: MemoryPackOrder(0)] InstanceConfiguration Configuration,
[property: MemoryPackOrder(1)] InstanceLaunchProperties LaunchProperties,

View File

@ -3,7 +3,7 @@ using Phantom.Common.Data.Replies;
namespace Phantom.Common.Messages.ToAgent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record LaunchInstanceMessage(
[property: MemoryPackOrder(0)] Guid InstanceGuid
) : IMessageToAgent<InstanceActionResult<LaunchInstanceResult>> {

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToAgent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record RegisterAgentFailureMessage(
[property: MemoryPackOrder(0)] RegisterAgentFailure FailureKind
) : IMessageToAgent {

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToAgent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record RegisterAgentSuccessMessage(
[property: MemoryPackOrder(0)] ImmutableArray<ConfigureInstanceMessage> InitialInstanceConfigurations
) : IMessageToAgent {

View File

@ -3,7 +3,7 @@ using Phantom.Common.Data.Replies;
namespace Phantom.Common.Messages.ToAgent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record SendCommandToInstanceMessage(
[property: MemoryPackOrder(0)] Guid InstanceGuid,
[property: MemoryPackOrder(1)] string Command

View File

@ -4,7 +4,7 @@ using Phantom.Common.Data.Replies;
namespace Phantom.Common.Messages.ToAgent;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record StopInstanceMessage(
[property: MemoryPackOrder(0)] Guid InstanceGuid,
[property: MemoryPackOrder(1)] MinecraftStopStrategy StopStrategy

View File

@ -5,7 +5,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record AdvertiseJavaRuntimesMessage(
[property: MemoryPackOrder(0)] ImmutableArray<TaggedJavaRuntime> Runtimes
) : IMessageToServer {

View File

@ -3,7 +3,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record AgentIsAliveMessage : IMessageToServer {
public Task<NoReply> Accept(IMessageToServerListener listener) {
return listener.HandleAgentIsAlive(this);

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record InstanceOutputMessage(
[property: MemoryPackOrder(0)] Guid InstanceGuid,
[property: MemoryPackOrder(1)] ImmutableArray<string> Lines

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record RegisterAgentMessage(
[property: MemoryPackOrder(0)] AgentAuthToken AuthToken,
[property: MemoryPackOrder(1)] AgentInfo AgentInfo

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record ReportAgentStatusMessage(
[property: MemoryPackOrder(0)] int RunningInstanceCount,
[property: MemoryPackOrder(1)] RamAllocationUnits RunningInstanceMemory

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record ReportInstanceEventMessage(
[property: MemoryPackOrder(0)] Guid EventGuid,
[property: MemoryPackOrder(1)] DateTime UtcTime,

View File

@ -4,7 +4,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record ReportInstanceStatusMessage(
[property: MemoryPackOrder(0)] Guid InstanceGuid,
[property: MemoryPackOrder(1)] IInstanceStatus InstanceStatus

View File

@ -3,7 +3,7 @@ using Phantom.Utils.Rpc.Message;
namespace Phantom.Common.Messages.ToServer;
[MemoryPackable]
[MemoryPackable(GenerateType.VersionTolerant)]
public sealed partial record UnregisterAgentMessage(
[property: MemoryPackOrder(0)] Guid AgentGuid
) : IMessageToServer {