package jade.imtp.leap.nio; //#J2ME_EXCLUDE_FILE import jade.imtp.leap.ICPException; import jade.imtp.leap.JICP.JICPMediator; import jade.imtp.leap.JICP.JICPPacket; import jade.imtp.leap.JICP.Connection; import jade.util.leap.Properties; import java.net.InetAddress; /** Base interface for all mediators that can be managed by asynchronous JICPMediatorManagers such as the <code>BEManagementService</code>. @author Giovanni Caire - Telecom Italia LAB S.p.A. */ public interface NIOMediator extends JICPMediator { /** Overloaded version of the handleJICPPacket() method including the <code>Connection</code> the incoming JICPPacket was received from. This information is important since, unlike normal mediators, a NIOMediator may not read packets from connections on its own (the JICPMediatorManager does that in general). */ JICPPacket handleJICPPacket(Connection c, JICPPacket p, InetAddress addr, int port) throws ICPException; /** Notify this NIOMediator that an error occurred on one of the Connections it was using. This information is important since, unlike normal mediators, a NIOMediator may not read packets from connections on its own (the JICPMediatorManager does that in general). */ void handleConnectionError(Connection c, Exception e); /** Retrieve the startup Properties for this NIOMediator. */ Properties getProperties(); }