public FinalReceiver( IGrandOutputSink common, HandlerBase[] handlers, IRouteConfigurationLock configLock ) { Debug.Assert( handlers != null ); CommonSink = common; Handlers = handlers; ConfigLock = configLock; }
public FinalReceiver(IGrandOutputSink common, HandlerBase[] handlers, IRouteConfigurationLock configLock) { Debug.Assert(handlers != null); CommonSink = common; Handlers = handlers; ConfigLock = configLock; }
internal StandardChannel( IGrandOutputSink commonSink, EventDispatcher dispatcher, IRouteConfigurationLock configLock, HandlerBase[] handlers, string configurationName, GrandOutputChannelConfigData configData ) { _dispatcher = dispatcher; _receiver = new EventDispatcher.FinalReceiver( commonSink, handlers, configLock ); _receiverNoCommonSink = new EventDispatcher.FinalReceiver( null, handlers, configLock ); _configurationName = configurationName; if( configData != null ) _minimalFilter = configData.MinimalFilter; }
public void Add(IGrandOutputSink sink) { if (sink == null) { throw new ArgumentNullException("sink"); } Util.InterlockedAdd(ref _sinks, sink); }
/// <summary> /// Unregisters a <see cref="IGrandOutputSink"/>. /// </summary> /// <param name="sink">The sink to unregister.</param> public void UnregisterGlobalSink(IGrandOutputSink sink) { if (sink == null) { throw new ArgumentNullException("sink"); } AttemptGarbageDeadClients(); CommonSink.Remove(sink); }
internal StandardChannel(IGrandOutputSink commonSink, EventDispatcher dispatcher, IRouteConfigurationLock configLock, HandlerBase[] handlers, string configurationName, GrandOutputChannelConfigData configData) { _dispatcher = dispatcher; _receiver = new EventDispatcher.FinalReceiver(commonSink, handlers, configLock); _receiverNoCommonSink = new EventDispatcher.FinalReceiver(null, handlers, configLock); _configurationName = configurationName; if (configData != null) { _minimalFilter = configData.MinimalFilter; } }
/// <summary> /// Unregisters a <see cref="IGrandOutputSink"/>. /// </summary> /// <param name="sink">The sink to unregister.</param> public void UnregisterGlobalSink( IGrandOutputSink sink ) { if( sink == null ) throw new ArgumentNullException( "sink" ); AttemptGarbageDeadClients(); CommonSink.Remove( sink ); }
public void Add( IGrandOutputSink sink ) { if( sink == null ) throw new ArgumentNullException( "sink" ); Util.InterlockedAdd( ref _sinks, sink ); }