public void SetUpTest() { m_db = new KeyValueDatabase(filename => new DatabaseFileReader(filename), filename=> new DatabaseFileWriter(filename), filename => new MemoryCacheProvider(filename)); m_db.Start(); }
public void TearDownTest() { m_db.Stop(); m_db = null; File.Delete("test.dbfile"); }
public void Restart() { Database.Stop(); Database = new KeyValueDatabase(filename => new DatabaseFileReader(filename), filename => new DatabaseFileWriter(filename), filename => new MemoryCacheProvider(filename)); Database.FileName = SpecsDbFile; Database.Start(); }
public DatabaseContext() { File.Delete(SpecsDbFile); Database = new KeyValueDatabase(filename => new DatabaseFileReader(filename), filename => new DatabaseFileWriter(filename), filename => new MemoryCacheProvider(filename)); Database.FileName = SpecsDbFile; Database.Start(); }
public Server(KeyValueDatabase db, params string[] addresses) { m_db = db; m_addresses = addresses; m_log = LogManager.GetLogger(this.GetType()); if (!m_addresses.Any()) { throw new ArgumentException("You must provide at least one address to listen too"); } }
public async Task <JObject> GetDbValue(string key) { string type = string.Empty; JToken id; try { object value; if (key.StartsWith(GlobalConfig.StatePrefix)) { type = "State"; id = key.Substring(GlobalConfig.StatePrefix.Length, key.Length - GlobalConfig.StatePrefix.Length); var valueBytes = KeyValueDatabase.GetAsync(type, key).Result; value = StateValue.Create(valueBytes); } else if (key.StartsWith(GlobalConfig.TransactionReceiptPrefix)) { type = "TransactionReceipt"; id = key.Substring(GlobalConfig.TransactionReceiptPrefix.Length, key.Length - GlobalConfig.TransactionReceiptPrefix.Length); var valueBytes = KeyValueDatabase.GetAsync(type, key).Result; value = valueBytes?.Deserialize <TransactionReceipt>(); } else { var keyObj = Key.Parser.ParseFrom(ByteArrayHelpers.FromHexString(key)); type = keyObj.Type; id = JObject.Parse(keyObj.ToString()); var valueBytes = KeyValueDatabase.GetAsync(type, key).Result; var obj = this.GetInstance(type); obj.MergeFrom(valueBytes); value = obj; } var response = new JObject { ["Type"] = type, ["Id"] = id, ["Value"] = JObject.Parse(value.ToString()) }; return(JObject.FromObject(response)); } catch (Exception e) { var response = new JObject { ["Type"] = type, ["Value"] = e.Message }; return(JObject.FromObject(response)); } }
public void Stop() { m_log.InfoFormat("Stopping SharpDB..."); m_server.Stop(); m_task.Wait(); m_db.Stop(); m_context.Dispose(); m_server = null; m_db = null; m_context = null; }
public bool Stop(HostControl hostControl) #endif { m_log.InfoFormat("Stopping SharpDB..."); m_server.Stop(); m_task.Wait(); m_db.Stop(); m_server = null; m_db = null; return(true); }
public void Start() { m_log = LogManager.GetLogger(this.GetType()); m_log.InfoFormat("Starting SharpDB..."); m_log.InfoFormat("Database Name: {0}", m_name); m_db = new KeyValueDatabase(filename => new DatabaseFileReader(filename), filename => new DatabaseFileWriter(filename), filename => new MemoryCacheProvider(filename)); m_db.FileName = m_name + ".sdb"; m_db.Start(); m_context = NetMQContext.Create(); m_server = new Network.Server(m_context, m_db, string.Format("tcp://*:{0}", m_port)); m_task = Task.Factory.StartNew(m_server.Start); }
public bool Start(HostControl hostControl) #endif { m_log = LogManager.GetLogger(this.GetType()); m_log.InfoFormat("Starting SharpDB..."); m_log.InfoFormat("Database Name: {0}", m_name); m_db = new KeyValueDatabase(filename => new DatabaseFileReader(filename), filename => new DatabaseFileWriter(filename), filename => new MemoryCacheProvider(filename)); m_db.FileName = m_name + ".sdb"; m_db.Start(); m_server = new Network.Server(m_db, string.Format("tcp://*:{0}", m_port)); m_task = Task.Factory.StartNew(m_server.Start); return(true); }