public virtual void Release() { lock (stateLock) { if (State == ProxletState.Processing) { State = ProxletState.Available; pool.ProxletReleased(this); } else if (State == ProxletState.Disposed) { throw new ProxletDisposedException(); } } }
public void Process(Socket m_clientSocket) { lock (stateLock) { if (State == ProxletState.Disposed) { throw new ProxletDisposedException(); } else if (State == ProxletState.Processing) { throw new ProxletBusyException(); } State = ProxletState.Processing; ProcessConnection(m_clientSocket); } }