Beispiel #1
0
        /// <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;
            }
        }
Beispiel #2
0
        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;
        }