WIP: libpxx instead of libpq

This commit is contained in:
Grant Limberg 2018-11-13 16:00:13 -08:00
parent 33d7b22abe
commit 882b03436d
3 changed files with 484 additions and 917 deletions

File diff suppressed because it is too large Load Diff

View File

@ -23,12 +23,16 @@
#include "DB.hpp"
#include <pqxx/pqxx>
extern "C" {
typedef struct pg_conn PGconn;
}
namespace ZeroTier
{
class _MemberNotificationReceiver;
class _NetworkNotificationReceiver;
/**
* A controller database driver that talks to PostgreSQL
@ -56,8 +60,8 @@ protected:
};
private:
void initializeNetworks(PGconn *conn);
void initializeMembers(PGconn *conn);
void initializeNetworks(pqxx::connection &conn);
void initializeMembers(pqxx::connection &conn);
void heartbeat();
void membersDbWatcher();
void networksDbWatcher();
@ -81,6 +85,9 @@ private:
mutable std::mutex _readyLock;
std::atomic<int> _ready, _connected, _run;
mutable volatile bool _waitNoticePrinted;
friend class _MemberNotificationReceiver;
friend class _NetworkNotificationReceiver;
};
}

View File

@ -4,7 +4,7 @@ MAINTAINER Adam Ierymekno <adam.ierymenko@zerotier.com>, Grant Limberg <grant.li
RUN yum update -y
RUN yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
RUN yum install -y postgresql10
RUN yum install -y postgresql10 libpqxx-devel
RUN yum -y install epel-release && yum -y update && yum clean all
RUN yum -y install clang jemalloc jemalloc-devel