Brod persistent message store
Inheritance: IDisposable
Exemplo n.º 1
0
        public void Start()
        {
            using(var store = new Store(_configuration))
            {
                var handlers = new RequestHandlers(_configuration, store);

                var engine = new TaskEngine(
                    new SocketListener(ZMQ.SocketType.REP, _configuration.Port, handlers.MapHandlers),
                    new SocketListener(ZMQ.SocketType.PULL, _configuration.PullPort, handlers.MapHandlers),
                    new Flusher(_configuration, store));

                using (var token = new CancellationTokenSource())
                using (engine)
                {
                    var task1 = engine.Start(token.Token, Timeout.Infinite);

                    if (task1.Wait(Timeout.Infinite))
                        Console.WriteLine("Done without forced cancelation"); // This line shouldn't be reached
                    else
                        Console.WriteLine("\r\nRequesting to cancel...");

                    token.Cancel();
                }
            }
        }
Exemplo n.º 2
0
 public Flusher(BrokerConfiguration configuration, Store storage)
 {
     _configuration = configuration;
     _storage = storage;
 }
Exemplo n.º 3
0
 public RequestHandlers(BrokerConfiguration configuration, Store storage)
 {
     _configuration = configuration;
     _storage = storage;
 }