package org.prevayler.foundation.network; import java.util.HashMap; /** * Manages the sessions for a service */ public class SessionsManagerImpl implements SessionsManager { private final long timeStamp; private int _masterSessionId=100; private HashMap _sessions=new HashMap(); public SessionsManagerImpl(){ this(System.currentTimeMillis()); } protected SessionsManagerImpl( long timeStamp){ this.timeStamp=timeStamp; } public synchronized StubbornNetworkProxy find( NetworkSessionId sessionId){ return (StubbornNetworkProxy)_sessions.get(sessionId); } public synchronized NetworkSessionId add( StubbornNetworkProxy receiver){ NetworkSessionId key=new NetworkSessionId(timeStamp,_masterSessionId++); _sessions.put(key,receiver); return key; } public synchronized void remove( NetworkSessionId sessionId){ _sessions.remove(sessionId); } }