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:
parent
46dba1a4fa
commit
626f141a2c
Common
Phantom.Common.Data
Phantom.Common.Messages
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -4,7 +4,7 @@ using MemoryPack;
|
||||
|
||||
namespace Phantom.Common.Data;
|
||||
|
||||
[MemoryPackable]
|
||||
[MemoryPackable(GenerateType.VersionTolerant)]
|
||||
public sealed partial class AllowedPorts {
|
||||
[MemoryPackOrder(0)]
|
||||
[MemoryPackInclude]
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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 {
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
);
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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; }
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace Phantom.Common.Data.Minecraft;
|
||||
|
||||
[MemoryPackable]
|
||||
[MemoryPackable(GenerateType.VersionTolerant)]
|
||||
public readonly partial record struct MinecraftStopStrategy(
|
||||
[property: MemoryPackOrder(0)] ushort Seconds
|
||||
) {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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>> {
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user