private RaptorDB GetInstance(string name) { // load or get instance instance_handler inst = null; _instances.TryGetValue(name.ToLower(), out inst); if (inst == null) { // no instance found -> err _log.Debug("instance name not found : " + name); return(null); } if (inst.rdb == null) { // try loading raptordb instance var r = RaptorDB.Open(inst.dbpath); inst.rdb = r; // fix : create register and save //inst.register //inst.save if (inst.hasExtensions) { // fix: load extension folder } else { // fix: load default extenstions } } return(inst.rdb); }
public RaptorDBServer(int port, string DataPath) { _path = Directory.GetCurrentDirectory(); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); _server = new NetworkServer(); if (_S == "/")// unix system { _datapath = DataPath.Replace("\\", "/"); } else { _datapath = DataPath; } if (_datapath.EndsWith(_S) == false) { _datapath += _S; } _raptor = RaptorDB.Open(DataPath); register = _raptor.GetType().GetMethod("RegisterView", BindingFlags.Instance | BindingFlags.Public); save = _raptor.GetType().GetMethod("Save", BindingFlags.Instance | BindingFlags.Public); Initialize(); _server.Start(port, processpayload); // add timer to cleanup connected clients _concleanuptimer = new System.Timers.Timer(30 * 1000); _concleanuptimer.AutoReset = true; _concleanuptimer.Enabled = true; _concleanuptimer.Elapsed += _concleanuptimer_Elapsed; }
public RaptorDBServer(int port, string DataPath) { _path = Directory.GetCurrentDirectory(); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); _server = new NetworkServer(); if (_S == "/")// unix system { _datapath = DataPath.Replace("\\", "/"); } else { _datapath = DataPath; } if (_datapath.EndsWith(_S) == false) { _datapath += _S; } // check if "instances" folder exist -> multi instance mode if (Directory.Exists(_datapath + "instances")) { _log.Debug("Insances exist, loading..."); _multiInstance = true; foreach (var d in Directory.GetDirectories(_datapath + "instances")) { var dn = new DirectoryInfo(d); var i = new instance_handler(); i.dbpath = d; if (Directory.Exists(d + _S + "Extensions")) { i.hasExtensions = true; } _instances.Add(dn.Name.ToLower(), i); } } _defaultInstance.rdb = RaptorDB.Open(DataPath); _defaultInstance.register = _defaultInstance.rdb.GetType().GetMethod("RegisterView", BindingFlags.Instance | BindingFlags.Public); _defaultInstance.save = _defaultInstance.rdb.GetType().GetMethod("Save", BindingFlags.Instance | BindingFlags.Public); Initialize(); _server.Start(port, processpayload); // add timer to cleanup connected clients _concleanuptimer = new System.Timers.Timer(30 * 1000); _concleanuptimer.AutoReset = true; _concleanuptimer.Enabled = true; _concleanuptimer.Elapsed += _concleanuptimer_Elapsed; _unusedinstancetimer = new System.Timers.Timer(300 * 1000);// FIX : configuration here _unusedinstancetimer.AutoReset = true; _unusedinstancetimer.Enabled = true; _unusedinstancetimer.Elapsed += _unusedinstancetimer_Elapsed; }
public rdbRest(int HttpPort, RaptorDB rdb, string routingpath, bool localonly) : base(HttpPort, localonly, System.Net.AuthenticationSchemes.None, "raptordb") { _rdb = rdb; //save = _rdb.GetType().GetMethod("Save", BindingFlags.Instance | BindingFlags.Public); //register = _rdb.GetType().GetMethod("RegisterView", BindingFlags.Instance | BindingFlags.Public); if (_S == "/") { _path = routingpath.Replace("\\", "/"); } else { _path = routingpath; } }
static RaptorDB.RaptorDB rdb; // 1 instance static void Main(string[] args) { rdb = RaptorDB.RaptorDB.Open("data"); // a "data" folder beside the executable RaptorDB.Global.RequirePrimaryView = false; Console.WriteLine("Registering views.."); rdb.RegisterView(new SalesInvoiceView()); DoWork(); Console.WriteLine("press any key..."); Console.ReadKey(); Console.WriteLine("\r\nShutting down..."); rdb.Shutdown(); // explicit shutdown }
public RestServer(int HttpPort, RaptorDB.RaptorDB rdb, string routingpath, bool localonly) { _localonly = localonly; _port = HttpPort; _rdb = rdb; //save = _rdb.GetType().GetMethod("Save", BindingFlags.Instance | BindingFlags.Public); //register = _rdb.GetType().GetMethod("RegisterView", BindingFlags.Instance | BindingFlags.Public); if (_S == "/") { _path = routingpath.Replace("\\", "/"); } else { _path = routingpath; } Task.Factory.StartNew(() => Start(), TaskCreationOptions.LongRunning); }
public RaptorDBServer(int port, string DataPath) { _path = Directory.GetCurrentDirectory(); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); //AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit); _server = new NetworkServer(); _datapath = DataPath; if (_datapath.EndsWith(_S) == false) { _datapath += _S; } _raptor = RaptorDB.Open(DataPath); register = _raptor.GetType().GetMethod("RegisterView", BindingFlags.Instance | BindingFlags.Public); save = _raptor.GetType().GetMethod("Save", BindingFlags.Instance | BindingFlags.Public); Initialize(); _server.Start(port, processpayload); }