/// <summary> /// Add a receive protocol that is qualified by a function and specifies the action when qualified. /// </summary> protected virtual void AddReceiveProtocol(string p, Func <dynamic, bool> q, Action <dynamic> a) { bool cachedEnableState; cachedReceiveProtocolConfig.TryGetValue(p, out cachedEnableState).Else(() => cachedEnableState = true); receiveProtocols.Add(new ReceiveQualifier(p, q, a) { Enabled = cachedEnableState }); ReceiveProtocolsChanged.Fire(this, EventArgs.Empty); }
/// <summary> /// Remove all receive protocols. /// </summary> protected virtual void RemoveReceiveProtocols() { receiveProtocols.Clear(); ReceiveProtocolsChanged.Fire(this, EventArgs.Empty); }
/// <summary> /// Remove a specific receive protocol. /// </summary> protected virtual void RemoveReceiveProtocol(string p) { receiveProtocols.Remove(receiveProtocols.Single(rp => rp.Protocol == p)); ReceiveProtocolsChanged.Fire(this, EventArgs.Empty); }
/// <summary> /// Add a receive protocol that is qualified by a function and specifies the action when qualified. /// </summary> protected virtual void AddReceiveProtocol(string p, Func <dynamic, bool> q, Action <dynamic> a) { receiveProtocols.Add(new ReceiveQualifier(p, q, a)); ReceiveProtocolsChanged.Fire(this, EventArgs.Empty); }
/// <summary> /// Add an unqualified receive protocol. Override ProcessCarrier to handle this protocol. /// </summary> protected virtual void AddReceiveProtocol(string p) { receiveProtocols.Add(new ReceiveQualifier(p)); ReceiveProtocolsChanged.Fire(this, EventArgs.Empty); }