Files
PulsarK-main/Pulsar.Common/Messages/Other/DeferredAssembliesPackage.cs
T
i2p 773d05f8f1
Pulsar .NET 9.0 Windows Release / build (push) Waiting to run
Mirror to Codeberg and Gitea / mirror (push) Waiting to run
initial commit
2026-08-27 10:57:58 -06:00

56 lines
1.6 KiB
C#

using MessagePack;
using System.Collections.Generic;
namespace Pulsar.Common.Messages.Other
{
/// <summary>
/// Package containing one or more deferred assemblies delivered from the server to the client.
/// </summary>
[MessagePackObject]
public class DeferredAssembliesPackage : IMessage
{
/// <summary>
/// The assemblies delivered within this package.
/// </summary>
[Key(1)]
public List<DeferredAssemblyDescriptor> Assemblies { get; set; }
/// <summary>
/// Indicates whether this is the final package in the current transfer sequence.
/// </summary>
[Key(2)]
public bool IsComplete { get; set; }
}
/// <summary>
/// Descriptor describing a single deferred assembly payload.
/// </summary>
[MessagePackObject]
public class DeferredAssemblyDescriptor
{
/// <summary>
/// Simple assembly name, e.g. "SharpDX.Direct3D11".
/// </summary>
[Key(1)]
public string Name { get; set; }
/// <summary>
/// Optional assembly version information.
/// </summary>
[Key(2)]
public string Version { get; set; }
/// <summary>
/// Raw assembly bytes. May be null if the server could not locate the assembly.
/// </summary>
[Key(3)]
public byte[] Data { get; set; }
/// <summary>
/// SHA-256 hash of the assembly bytes for integrity validation (hex encoded).
/// </summary>
[Key(4)]
public string Sha256 { get; set; }
}
}