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; }
}
}