コード例 #1
0
        public LightningQueue(int port, bool persistent, LightningQueueSettings settings)
        {
            Port       = port;
            Persistent = persistent;
            var queueConfiguration = new QueueConfiguration()
                                     .ReceiveMessagesAt(new IPEndPoint(IPAddress.Any, port))
                                     .ScheduleQueueWith(TaskPoolScheduler.Default);

            // TODO -- bring through whatever the Jasper logging abstraction ends up being here.
            //.LogWith(new FubuLoggingAdapter(_logger));

            if (persistent)
            {
                queueConfiguration.StoreWithLmdb(settings.QueuePath + "." + port, new EnvironmentConfiguration
                {
                    MaxDatabases = settings.MaxDatabases, MapSize = settings.MapSize
                });
            }
            else
            {
                queueConfiguration.UseNoStorage();
            }

            _queue = queueConfiguration.BuildQueue();
        }
コード例 #2
0
        private Queue CreateQueue(int port, bool persist, int mapSize = 1024*1024*100, int maxDatabases = 5)
        {
            var queueConfiguration = new QueueConfiguration()
                .ReceiveMessagesAt(new IPEndPoint(IPAddress.Any, port))
                .ScheduleQueueWith(TaskPoolScheduler.Default)
                .LogWith(new FubuLoggingAdapter(_logger));

            if (persist)
            {
                queueConfiguration.StoreWithLmdb(QueuePath + "." + port, new EnvironmentConfiguration { MaxDatabases = maxDatabases, MapSize = mapSize });
            }
            else
            {
                queueConfiguration.UseNoStorage();
            }
            var queue = queueConfiguration.BuildQueue();
            _queueManagers.Fill(port, queue);
            return queue;
        }
コード例 #3
0
        private Queue CreateQueue(int port, bool persist, int mapSize = 1024 *1024 *100, int maxDatabases = 5)
        {
            var queueConfiguration = new QueueConfiguration()
                                     .ReceiveMessagesAt(new IPEndPoint(IPAddress.Any, port))
                                     .ScheduleQueueWith(TaskPoolScheduler.Default)
                                     .LogWith(new FubuLoggingAdapter(_logger));

            if (persist)
            {
                queueConfiguration.StoreWithLmdb(QueuePath + "." + port, new EnvironmentConfiguration {
                    MaxDatabases = maxDatabases, MapSize = mapSize
                });
            }
            else
            {
                queueConfiguration.UseNoStorage();
            }
            var queue = queueConfiguration.BuildQueue();

            _queueManagers.Fill(port, queue);
            return(queue);
        }