using skyscraper5.src.Mpeg2.PacketFilter;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.Skyscraper.Scraper
{
    public interface ISkyscraperContext : IDisposable
    {
        public void IngestFromStream(Stream stream);
        public void IngestSinglePacket(byte[] buffer);
        public bool IsAbortConditionMet();
        public bool EnableTimeout { get; set; }

        public int TimeoutSeconds { get; set; }

        public bool CancelOnNextPacket { get; set; }

        public ISkyscraperUiJunction UiJunction { get; set; }

        public bool TcpProxyEnabled { get; set; }

        public void InitalizeFilterChain(params IPacketFilter[] args);

        int GetIpCommunicationParties();
    }
}
