package net.onrc.onos.apps.proxyarp;

import java.net.InetAddress;

import net.floodlightcontroller.util.MACAddress;

/**
 * Callback interface for modules using the {@link IProxyArpService} to send ARP
 * requests.
 */
public interface IArpRequester {
    /**
     * Callback method that will be called by the {@link IProxyArpService} when
     * it receives a reply for a request previously submitted by this
     * {@code IArpRequester}.
     *
     * @param ipAddress  The IP address than an ARP request was sent for
     * @param macAddress The MAC address mapped to the requested IP address
     */
    public void arpResponse(InetAddress ipAddress, MACAddress macAddress);
}
