using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper8.Ietf.Rfc4236_ULE
{
	internal interface UleEventHandler
	{
		void OnEthernetFrame(int pid, PhysicalAddress destination, PhysicalAddress source, ushort etherType, byte[] contents);

		/// <summary>
		/// The UlePacketProcessor is supposed to call this whenever an Error occurs during deframing.
		/// </summary>
		/// <param name="pid">The source PID of the ULE ES</param>
		/// <param name="errorNo">
		/// Set this to:
		/// 1* for a CRC error.
		/// 2* for an invalid adaptation field control.
		/// </param>
		void OnUleError(int pid, int errorNo);
	}
}
