/* * $Id: ProtocolConnectionPoolFactory.java,v 1.1 2006-07-18 09:06:04 tigran Exp $ */ package org.dcache.net; import java.io.IOException; import org.dcache.net.ProtocolConnectionPool.Listen; public class ProtocolConnectionPoolFactory { private static final Object _initLock = new Object(); private static ProtocolConnectionPool _protocolConnectionPool; private final int _port; final ChallengeReader _challengeReader; public ProtocolConnectionPoolFactory(int port, ChallengeReader challengeReader) { _port = port; _challengeReader = challengeReader; } public Listen acquireListen(int receiveBufferSize) throws IOException { synchronized (_initLock) { if( _protocolConnectionPool == null ) { _protocolConnectionPool = new ProtocolConnectionPool(_port, receiveBufferSize, _challengeReader); } } return _protocolConnectionPool.acquire(); } }