/// <summary> /// Creates an listener from the configuration. /// </summary> /// <param name="name">name of the instance to create</param> /// <returns>the named instance if it exists within the configuration; /// otherwise null</returns> /// <remarks>Note that two subsequent calls to this method will return /// two separate instances of the configured instance.</remarks> public static IEventListener CreateFromConfig(string name) { LwesConfigurationSection config = LwesConfigurationSection.Current; ListenerConfigurationSection namedConfig = config.Listeners[name]; if (namedConfig == null) { Traceable.TraceData(typeof(EventListener), TraceEventType.Verbose, () => { return new object[] { String.Concat("EventListener - no configuration found for listener: ", name) }; }); return null; } Traceable.TraceData(typeof(EventListener), TraceEventType.Verbose, () => { return new object[] { String.Concat("EventListener - configuration found for listener: ", name) }; }); if (namedConfig.UseMulticast) { MulticastEventListener mee = new MulticastEventListener(); mee.InitializeAll(EventTemplateDB.CreateDefault(), IPAddress.Parse(namedConfig.AddressString), namedConfig.Port, namedConfig.UseParallelEmit, namedConfig.GarbageHandling); return mee; } else { UnicastEventListener uee = new UnicastEventListener(); uee.Initialize(EventTemplateDB.CreateDefault(), IPAddress.Parse(namedConfig.AddressString), namedConfig.Port, namedConfig.UseParallelEmit, namedConfig.GarbageHandling); return uee; } }
private static IEventListener CreateFallbackListener() { Traceable.TraceData(typeof(EventListener), TraceEventType.Verbose, "EventListener - using fallback listener"); MulticastEventListener emitter = new MulticastEventListener(); emitter.InitializeAll(EventTemplateDB.CreateDefault() , Constants.DefaultMulticastAddress , Constants.CDefaultMulticastPort , true , ListenerGarbageHandling.Default); return emitter; }