void OnSelect(int aTimeout, ChannelAction[] aActions) { iOnSelectActions.Dequeue()(aTimeout, aActions); }
protected bool SelectWithTimeout( int aTimeoutMilliseconds, params ChannelAction[] aActions) { ChannelAction[] allActions = new ChannelAction[aActions.Length + 1]; allActions[0] = iQuitChannel.CaseReceive(v => iAbandoned = true); aActions.CopyTo(allActions,1); return Channel.SelectWithTimeout(aTimeoutMilliseconds, allActions); }