Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //System.Diagnostics.Process.Start("CMD.exe", "/C rd C:\\LeafSQL /S /Q");

            var settings = new Library.Payloads.Models.ServerSettings()
            {
                Name                 = Settings.Default.Name,
                BaseAddress          = Settings.Default.BaseAddress,
                DataRootPath         = Settings.Default.DataRootPath.TrimEnd(new char[] { '/', '\\' }),
                TransactionDataPath  = Settings.Default.TransactionDataPath.TrimEnd(new char[] { '/', '\\' }),
                LogDirectory         = Settings.Default.LogDirectory.TrimEnd(new char[] { '/', '\\' }),
                FlushLog             = Settings.Default.FlushLog,
                EnableIOCaching      = Settings.Default.EnableIOCaching,
                EnableDeferredIO     = Settings.Default.EnableDeferredIO,
                WriteTraceData       = Settings.Default.WriteTraceData,
                CacheScavengeBuffer  = Settings.Default.CacheScavengeBuffer,
                CacheScavengeRate    = Settings.Default.CacheScavengeRate,
                MaxCacheMemory       = Settings.Default.MaxCacheMemory,
                RecordInstanceHealth = Settings.Default.RecordInstanceHealth
            };

            Core = new Engine.Core(settings);

            Core.Start();

            var owinServices = new OWIN.Services();

            owinServices.Start(settings.BaseAddress);

            Core.Log.Write(String.Format("Listening on {0}", settings.BaseAddress));

            Console.ReadLine(); //Continue running.

            Core.Shutdown();
        }
Ejemplo n.º 2
0
        public Core(Library.Payloads.Models.ServerSettings settings)
        {
            this.Settings = settings;

            Log = new LogManager(this);

            Assembly        assembly        = Assembly.GetExecutingAssembly();
            FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);

            Log.Write(string.Format("{0} v{1} PID:{2}",
                                    fileVersionInfo.ProductName,
                                    fileVersionInfo.ProductVersion,
                                    Process.GetCurrentProcess().Id));

            Log.Write("Initializing cache manager.");
            Cache = new CacheManager(this);

            Log.Write("Initializing IO manager.");
            IO = new IOManager(this);

            Log.Write("Initializing Security manager.");
            Security = new SecurityManager(this);

            Log.Write("Initializing health manager.");
            Health = new HealthManager(this);

            Log.Write("Initializing index manager.");
            Indexes = new IndexManager(this);

            Log.Write("Initializing session manager.");
            Sessions = new SessionManager(this);

            Log.Write("Initializing lock manager.");
            Locking = new LockManager(this);

            Log.Write("Initializing transaction manager.");
            Transactions = new TransactionManager(this);

            Log.Write("Initializing namespace manager.");
            Schemas = new SchemaManager(this);

            Log.Write("Initializing document manager.");
            Documents = new DocumentManager(this);

            Log.Write("Initializing query manager.");
            Query = new QueryManager(this);

            Log.Write("Initilization complete.");
        }