namespace MinicsConsole.Helper.RawDataFilter;

public interface IDataSender
{
    IDataSender? NextSender { get; set; }
    bool Send(Mini8Output mini8Output, ChannelData channelData, object? state)
    {
        return NextSender?.Send(mini8Output, channelData, state) is true;
    }
}

public interface IMini8DataFilter : IDataSender
{
    public static IMini8DataFilter operator >>(IMini8DataFilter filter1, IMini8DataFilter filter2)
    {
        filter1.NextSender = filter2;
        return filter2;
    }
}