/* * Copyright (c) 2006 jDiameter. * https://jdiameter.dev.java.net/ * * License: GPL v3 * * e-mail: erick.svenson@yahoo.com * */ package org.jdiameter.client.api.io; import org.jdiameter.api.Wrapper; import java.net.InetAddress; /** * Factory of Network Layer elements. * Configuration and message parser instances injection by constructor */ public interface ITransportLayerFactory extends Wrapper { /** * Create new IConnection instance with predefined parameters * @param remoteAddress destination host address * @param remotePort destination port address * @param localAddress local network adapter address * @param localPort local socket port * @param ref reference to additional parameters * @return IConnection instance * @throws TransportException */ IConnection createConnection(InetAddress remoteAddress, int remotePort, InetAddress localAddress, int localPort, String ref) throws TransportException; /** * Create new IConnection instance with predefined parameters * @param remoteAddress destination host address * @param remotePort destination port address * @param localAddress local network adapter address * @param localPort local socket port * @param listener connection listener instance * @param ref reference to additional parameters * @return IConnection instance * @throws TransportException */ IConnection createConnection(InetAddress remoteAddress, int remotePort, InetAddress localAddress, int localPort, IConnectionListener listener, String ref) throws TransportException; }