using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
using skyscraper5.Docsis.AnnexC;
using skyscraper5.Docsis.MacManagement;

namespace skyscraper5.Docsis
{
    public interface IDocsisEventHandler
    {
        void OnParticipantDetected(PhysicalAddress pa);
        void OnCmtsTimestamp(PhysicalAddress source, uint timing);
        void OnUpstreamChannel(UpstreamChannelDescriptor mmm);
        void OnDownstreamChannel(PhysicalAddress physicalAddress, MacDomainDescriptor.DownstreamActiveChannel downstreamActiveChannel);
        void OnLearnedIpFromMac(PhysicalAddress arpHeaderSenderHardwareAddress, IPAddress arpHeaderSenderProtocolAddress);
        void OnKeyManagementResponse(PrivacyKeyManagementResponse privacyKeyManagementResponse);
        void OnDynamicServiceAddition(ushort transactionId, byte confirmationCode, CommonTlvEncodingObject tlvEncodedInformation);
    }
}
