void nsModifier_AliceLoopClosed(object sender, EventArgs e) { lock (dictIsDisposed) { NetworkStreamModifier nsModifier = (NetworkStreamModifier)sender; dictIsDisposed[nsModifier]--; if (dictIsDisposed[nsModifier] < 0) { throw new InvalidOperationException("A loop stopped event was received more than two times from an strem modifier. Since a stream modifier contains only two loops, this could not be possible."); } nsModifier.AliceLoopClosed -= new EventHandler(nsModifier_AliceLoopClosed); } }
protected TCPStreamModifierStack GetStackForOperator(NetworkStreamModifier nsToFind) { lock (lStacks) { foreach (TCPStreamModifierStack sStack in lStacks) { foreach (NetworkStreamModifier nsModifier in sStack.Modifiers) { if (nsModifier == nsToFind) { return(sStack); } } } return(null); } }
public bool IsModifierDisposed(NetworkStreamModifier nsModifier) { return(dictIsDisposed[nsModifier] == 0); }