ソースを参照

WIP: libpxx instead of libpq

Grant Limberg 6 年 前
コミット
882b03436d
3 ファイル変更332 行追加611 行削除
  1. 322 608
      controller/PostgreSQL.cpp
  2. 9 2
      controller/PostgreSQL.hpp
  3. 1 1
      docker/Dockerfile

ファイルの差分が大きいため隠しています
+ 322 - 608
controller/PostgreSQL.cpp


+ 9 - 2
controller/PostgreSQL.hpp

@@ -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;
 };
 
 }

+ 1 - 1
docker/Dockerfile

@@ -4,7 +4,7 @@ MAINTAINER Adam Ierymekno <[email protected]>, 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

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません