*/
public DistributedSocketFactory(long timeout) {
mTimeout = timeout;
mFactories = Collections.synchronizedList(new ArrayList());
mResurrectors = Collections.synchronizedMap(new HashMap());
mSocketSources = Collections.synchronizedMap(new IdentityMap());
mListener = new CheckedSocket.ExceptionListener() {
public void exceptionOccurred(CheckedSocket s, Exception e, int count) {
if (count == 1) {
deadFactory((SocketFactory)mSocketSources.get(s));