namespace EM.LowLevel { /// /// Decodes device-specific binary responses into C#-friendly models. /// public interface IDataDecoder { /// /// Decode a response of a known type into a model. /// /// /// Target model type /// /// /// Raw or deframed payload depending on transport contract /// /// /// Decoded model /// TModel Decode(ReadOnlySpan payload); /// /// Try-decode variant to avoid throwing on partial/bad frames. /// bool TryDecode(ReadOnlySpan payload, out TModel model); } }