// Copyright (c) Microsoft. All rights reserved. using System; namespace Microsoft.Agents.AI.Workflows.Checkpointing; /// /// Defines methods for marshalling and unmarshalling objects to and from a wire format. /// /// public interface IWireMarshaller { /// /// Marshals the specified value of the given type into a wire format container. /// /// /// /// TWireContainer Marshal(object value, Type type); /// /// Marshals the specified value into a wire format container. /// /// /// /// TWireContainer Marshal(TValue value); /// /// Unmarshals the specified wire format container into an object of the given type. /// /// /// /// TValue Marshal(TWireContainer data); /// /// Unmarshals the specified wire format container into an object of the specified target type. /// /// /// /// object Marshal(Type targetType, TWireContainer data); }