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