public static Dispatcher Create(Action <DispatcherConfig> configurator)
        {
            var config = new DispatcherConfig();

            configurator(config);
            Dispatcher instance = Dispatcher.Create(config);

            return(instance);
        }
Exemple #2
0
        public static void RegisterComponents()
        {
            var container = new UnityContainer();

            // register all your components with the container here
            // it is NOT necessary to register your controllers

            // e.g. container.RegisterType<ITestService, TestService>();
            container.RegisterInstance <IDispatcher>(DispatcherConfig.RegisterComponents());
            DependencyResolver.SetResolver(new UnityDependencyResolver(container));
        }
        //--- Constructors ---
        public DekiDispatcher(DispatcherConfig config, IPubSubDispatchQueueRepository repository)
            : base(config, repository)
        {
            _authtoken = config.ServiceConfig["authtoken"].AsText;
            var dekiUri = config.ServiceConfig["uri.deki"].AsUri;

            if (config.ServiceCookies != null)
            {
                _cookieJar.Update(config.ServiceCookies.Fetch(dekiUri), null);
            }
            _deki = Plug.New(dekiUri).WithCookieJar(_cookieJar);
        }
    static void Main(string[] args)
    {
        // Begin composition root
        var containerBuilder = new ContainerBuilder();
        var config1          = new ConsumerConfig();
        var config2          = new DispatcherConfig();

        containerBuilder.RegisterInstance(config1).AsSelf().SingleInstance();
        containerBuilder.RegisterInstance(config2).AsSelf().SingleInstance();
        containerBuilder.RegisterGeneric(typeof(MessageQueue <>))
        .As(typeof(IMessageQueue <>)).SingleInstance();
        containerBuilder.RegisterGeneric(typeof(MessageService <>))
        .As(typeof(IMessageService <>)).SingleInstance();
        containerBuilder.RegisterType <TopLevelMessageConsumer>()
        .AsSelf().SingleInstance();
        containerBuilder.RegisterType <TopLevelMessageDispatcher>()
        .AsSelf().SingleInstance();
        var container = containerBuilder.Build();
        // End composition root
        var dispatcher = container.Resolve <TopLevelMessageDispatcher>();
        var consumer   = container.Resolve <TopLevelMessageConsumer>();
    }
Exemple #5
0
        static void Main(string[] args)
        {
            var config = new DispatcherConfig();

            if (args.Length > 0)
            {
                config.CoordinatorAddress = args[0];
                Console.WriteLine($"CoordinatorAddress: http://{config.CoordinatorAddress}/");
            }

            using (var dispatcher = new Dispatcher(config))
            {
                var shutdown = new CancellationTokenSource();

                Task.Run(() =>
                {
                    var taskProvider = new StdInTaskProvider();
                    dispatcher.AddJob(taskProvider);

                    while (true)
                    {
                        var line = Console.ReadLine();
                        if (line.Length == 0)
                        {
                            shutdown.Cancel();
                            break;
                        }
                        else
                        {
                            taskProvider.AddWork(line);
                        }
                    }
                });

                Task.Delay(-1, shutdown.Token).ContinueWith(t => { }).Wait();
            }
        }