/// <summary>
        /// Loads Trinity key-value store from disk to main memory.
        /// </summary>
        /// <returns>true if loading succeeds; otherwise, false.</returns>
        public bool LoadStorage()
        {
            lock (m_lock)
            {
                if (TrinityErrorCode.E_SUCCESS != CSynchronizeStorageRoot())
                {
                    return(false);
                }
                bool ret = CLocalMemoryStorage.CLoadStorage();

                //TODO WAL and cell type signatures should migrate to KVStore extensions.
                InitializeWriteAheadLogFile();

                LoadCellTypeSignatures();

                try
                {
                    StorageLoaded();
                }
                catch (Exception ex)
                {
                    Log.WriteLine(LogLevel.Error, "StorageLoaded event handler: {0}", ex.ToString());
                }

                return(ret);
            }
        }
        /// <summary>
        /// Loads Trinity key-value store from disk to main memory.
        /// </summary>
        /// <returns>
        /// TrinityErrorCode.E_SUCCESS if loading succeeds;
        /// Other error codes indicate a failure.
        /// </returns>
        public TrinityErrorCode LoadStorage()
        {
            lock (m_lock)
            {
                TrinityErrorCode ret = CSynchronizeStorageRoot();
                if (TrinityErrorCode.E_SUCCESS != ret)
                {
                    return(ret);
                }

                ret = RaiseStorageEvent(StorageBeforeLoad, nameof(StorageBeforeLoad));
                if (TrinityErrorCode.E_SUCCESS != ret)
                {
                    return(ret);
                }

                ret = CLocalMemoryStorage.CLoadStorage();
                if (TrinityErrorCode.E_SUCCESS != ret)
                {
                    return(ret);
                }

                ret = RaiseStorageEvent(StorageLoaded, nameof(StorageLoaded));
                return(ret);
            }
        }
        /// <summary>
        /// Loads Trinity key-value store from disk to main memory.
        /// </summary>
        /// <returns>true if loading succeeds; otherwise, false.</returns>
        public bool LoadStorage()
        {
            lock (m_lock)
            {
                if (TrinityErrorCode.E_SUCCESS != CSynchronizeStorageRoot())
                {
                    return(false);
                }

                RaiseStorageEvent(StorageBeforeLoad, nameof(StorageBeforeLoad));

                bool ret = CLocalMemoryStorage.CLoadStorage();

                RaiseStorageEvent(StorageLoaded, nameof(StorageLoaded));

                return(ret);
            }
        }
Exemplo n.º 4
0
        public bool LoadStorage()
        {
            bool ret = CLocalMemoryStorage.CLoadStorage();

            //TODO WAL and cell type signatures should migrate to KVStore extensions.
            InitializeWriteAheadLogFile();

            LoadCellTypeSignatures();

            try
            {
                StorageLoaded();
            }
            catch (Exception ex)
            {
                Log.WriteLine(LogLevel.Error, "StorageLoaded event handler: {0}", ex.ToString());
            }

            return(ret);
        }