/**
 * $Id: CAsyncClientSocketFactory.java,v 1.2 2005/05/04 07:49:56 rampil Exp $
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2004 satoshi akabane(akabane@logical-paradox.org)
 *
 */
package org.logical_paradox.common.net.async;

import java.io.IOException;
import java.nio.channels.SocketChannel;

/**
 * 非同期クライアントソケットファクトリ
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.2 $
 */
public interface CAsyncClientSocketFactory {
	/**
	 * クライアントソケットを生成する
	 * @param hostname ターゲットホスト
	 * @param port ポート番号
	 * @return 生成されたソケット
	 * @throws IOException ソケットの生成に失敗したなどの障害
	 */
	public CAsyncClientSocket createClientSocket(String hostname, int port) throws IOException;
	/**
	 * クライアントソケットを生成する
	 * @param channel ソケットチャンネル
	 * @return 生成されたソケット
	 * @throws IOException ソケット生成に失敗したなどの障害
	 */
	public CAsyncClientSocket createClientSocket(SocketChannel channel) throws IOException;
}
