public LightningDbPersistence(LightningDbSettings settings)
        {
            _environment = settings.ToEnvironment();
            _environment.Open(EnvironmentOpenFlags.WriteMap | EnvironmentOpenFlags.NoSync);

            OpenDatabase(Outgoing);
            OpenDatabase(Delayed);
        }
        public void ClearAllStoredMessages(string queuePath = null)
        {
            var fileSystem = new FileSystem();

            if (queuePath == null)
            {
                //Find all queues matching queuePath regardless of port.
                var jasperQueuePath = new LightningDbSettings().QueuePath;
                queuePath = fileSystem.GetDirectory(jasperQueuePath);

                var queues = fileSystem
                             .ChildDirectoriesFor(queuePath)
                             .Where(x => x.StartsWith(jasperQueuePath, StringComparison.OrdinalIgnoreCase));

                queues.Each(x => fileSystem.DeleteDirectory(x));
            }
            else
            {
                fileSystem.DeleteDirectory(queuePath);
            }
        }