mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Calculate program file directories:
* Determine location of database files in Config * Inject database directory or file path in PeerFinder and Validators * PeerFinder and Validators will share the same sqlite file
This commit is contained in:
committed by
Vinnie Falco
parent
e055dc1513
commit
28c7827f14
@@ -36,9 +36,13 @@ protected:
|
||||
public:
|
||||
/** Create a new Manager object.
|
||||
@param parent The parent Stoppable.
|
||||
@param pathToDbFileOrDirectory The directory where our database is stored
|
||||
@param journal Where to send log output.
|
||||
*/
|
||||
static Manager* New (Stoppable& stoppableParent, Journal journal);
|
||||
static Manager* New (
|
||||
Stoppable& stoppableParent,
|
||||
File const& pathToDbFileOrDirectory,
|
||||
Journal journal);
|
||||
|
||||
/** Destroy the object.
|
||||
Any pending source fetch operations are aborted. This will block
|
||||
|
||||
@@ -134,6 +134,7 @@ class ManagerImp
|
||||
{
|
||||
public:
|
||||
Journal m_journal;
|
||||
File m_databaseFile;
|
||||
StoreSqdb m_store;
|
||||
Logic m_logic;
|
||||
DeadlineTimer m_checkTimer;
|
||||
@@ -149,10 +150,14 @@ public:
|
||||
//
|
||||
bool m_checkSources;
|
||||
|
||||
ManagerImp (Stoppable& parent, Journal journal)
|
||||
ManagerImp (
|
||||
Stoppable& parent,
|
||||
File const& pathToDbFileOrDirectory,
|
||||
Journal journal)
|
||||
: Stoppable ("Validators::Manager", parent)
|
||||
, Thread ("Validators")
|
||||
, m_journal (journal)
|
||||
, m_databaseFile (pathToDbFileOrDirectory)
|
||||
, m_store (m_journal)
|
||||
, m_logic (m_store, m_journal)
|
||||
, m_checkTimer (this)
|
||||
@@ -164,6 +169,11 @@ public:
|
||||
"Validators constructed (debug)";
|
||||
m_journal.info <<
|
||||
"Validators constructed (info)";
|
||||
|
||||
if (m_databaseFile.isDirectory ())
|
||||
m_databaseFile = m_databaseFile.getChildFile("validators.sqlite");
|
||||
|
||||
|
||||
}
|
||||
|
||||
~ManagerImp ()
|
||||
@@ -306,11 +316,8 @@ public:
|
||||
|
||||
void init ()
|
||||
{
|
||||
File const file (File::getSpecialLocation (
|
||||
File::userDocumentsDirectory).getChildFile ("validators.sqlite"));
|
||||
Error error (m_store.open (m_databaseFile));
|
||||
|
||||
Error error (m_store.open (file));
|
||||
|
||||
if (! error)
|
||||
{
|
||||
m_logic.load ();
|
||||
@@ -375,9 +382,12 @@ Manager::Manager ()
|
||||
{
|
||||
}
|
||||
|
||||
Validators::Manager* Validators::Manager::New (Stoppable& parent, Journal journal)
|
||||
Validators::Manager* Validators::Manager::New (
|
||||
Stoppable& parent,
|
||||
File const& pathToDbFileOrDirectory,
|
||||
Journal journal)
|
||||
{
|
||||
return new Validators::ManagerImp (parent, journal);
|
||||
return new Validators::ManagerImp (parent, pathToDbFileOrDirectory, journal);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user