From 6b70d602871b081023b02eb53e10bf542354d72c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hilmar=20G=C3=BAstafsson?= Date: Sun, 12 Apr 2020 22:03:45 +0200 Subject: [PATCH] Move pubsub to demo cmd --- cmd/dendrite-p2p-demo/main.go | 2 +- cmd/dendrite-p2p-demo/p2pdendrite.go | 5 ++-- .../storage/postgreswithpubsub/storage.go | 0 cmd/dendrite-p2p-demo/storage/storage.go | 29 +++++++++++++++++++ publicroomsapi/storage/storage.go | 18 ------------ 5 files changed, 32 insertions(+), 22 deletions(-) rename {publicroomsapi => cmd/dendrite-p2p-demo}/storage/postgreswithpubsub/storage.go (100%) create mode 100644 cmd/dendrite-p2p-demo/storage/storage.go diff --git a/cmd/dendrite-p2p-demo/main.go b/cmd/dendrite-p2p-demo/main.go index 425a1579a..c75821cb8 100644 --- a/cmd/dendrite-p2p-demo/main.go +++ b/cmd/dendrite-p2p-demo/main.go @@ -29,6 +29,7 @@ import ( "github.com/matrix-org/dendrite/appservice" "github.com/matrix-org/dendrite/clientapi" "github.com/matrix-org/dendrite/clientapi/producers" + "github.com/matrix-org/dendrite/cmd/dendrite-p2p-demo/storage" "github.com/matrix-org/dendrite/common" "github.com/matrix-org/dendrite/common/config" "github.com/matrix-org/dendrite/common/keydb" @@ -38,7 +39,6 @@ import ( "github.com/matrix-org/dendrite/federationsender" "github.com/matrix-org/dendrite/mediaapi" "github.com/matrix-org/dendrite/publicroomsapi" - "github.com/matrix-org/dendrite/publicroomsapi/storage" "github.com/matrix-org/dendrite/roomserver" "github.com/matrix-org/dendrite/syncapi" "github.com/matrix-org/gomatrixserverlib" diff --git a/cmd/dendrite-p2p-demo/p2pdendrite.go b/cmd/dendrite-p2p-demo/p2pdendrite.go index 341a0b40a..9c2d73c5c 100644 --- a/cmd/dendrite-p2p-demo/p2pdendrite.go +++ b/cmd/dendrite-p2p-demo/p2pdendrite.go @@ -36,7 +36,8 @@ type P2PDendrite struct { // The componentName is used for logging purposes, and should be a friendly name // of the component running, e.g. SyncAPI. func NewP2PDendrite(cfg *config.Dendrite, componentName string) *P2PDendrite { - // baseDendrite := + baseDendrite := basecomponent.NewBaseDendrite(cfg, componentName) + ctx, cancel := context.WithCancel(context.Background()) privKey, err := crypto.UnmarshalEd25519PrivateKey(cfg.Matrix.PrivateKey[:]) @@ -80,8 +81,6 @@ func NewP2PDendrite(cfg *config.Dendrite, componentName string) *P2PDendrite { cfg.Matrix.ServerName = gomatrixserverlib.ServerName(libp2p.ID().String()) - baseDendrite := basecomponent.NewBaseDendrite(cfg, componentName) - return &P2PDendrite{ Base: *baseDendrite, LibP2P: libp2p, diff --git a/publicroomsapi/storage/postgreswithpubsub/storage.go b/cmd/dendrite-p2p-demo/storage/postgreswithpubsub/storage.go similarity index 100% rename from publicroomsapi/storage/postgreswithpubsub/storage.go rename to cmd/dendrite-p2p-demo/storage/postgreswithpubsub/storage.go diff --git a/cmd/dendrite-p2p-demo/storage/storage.go b/cmd/dendrite-p2p-demo/storage/storage.go new file mode 100644 index 000000000..d44cb70a2 --- /dev/null +++ b/cmd/dendrite-p2p-demo/storage/storage.go @@ -0,0 +1,29 @@ +package storage + +import ( + "net/url" + + pubsub "github.com/libp2p/go-libp2p-pubsub" + "github.com/matrix-org/dendrite/cmd/dendrite-p2p-demo/storage/postgreswithpubsub" + "github.com/matrix-org/dendrite/publicroomsapi/storage" + "github.com/matrix-org/dendrite/publicroomsapi/storage/sqlite3" +) + +const schemePostgres = "postgres" +const schemeFile = "file" + +// NewPublicRoomsServerDatabase opens a database connection. +func NewPublicRoomsServerDatabaseWithPubSub(dataSourceName string, pubsub *pubsub.PubSub) (storage.Database, error) { + uri, err := url.Parse(dataSourceName) + if err != nil { + return postgreswithpubsub.NewPublicRoomsServerDatabase(dataSourceName, pubsub) + } + switch uri.Scheme { + case schemePostgres: + return postgreswithpubsub.NewPublicRoomsServerDatabase(dataSourceName, pubsub) + case schemeFile: + return sqlite3.NewPublicRoomsServerDatabase(dataSourceName) + default: + return postgreswithpubsub.NewPublicRoomsServerDatabase(dataSourceName, pubsub) + } +} diff --git a/publicroomsapi/storage/storage.go b/publicroomsapi/storage/storage.go index 43ef9628a..fdf1ff8fc 100644 --- a/publicroomsapi/storage/storage.go +++ b/publicroomsapi/storage/storage.go @@ -20,10 +20,8 @@ import ( "net/url" dht "github.com/libp2p/go-libp2p-kad-dht" - pubsub "github.com/libp2p/go-libp2p-pubsub" "github.com/matrix-org/dendrite/publicroomsapi/storage/postgres" "github.com/matrix-org/dendrite/publicroomsapi/storage/postgreswithdht" - "github.com/matrix-org/dendrite/publicroomsapi/storage/postgreswithpubsub" "github.com/matrix-org/dendrite/publicroomsapi/storage/sqlite3" ) @@ -61,19 +59,3 @@ func NewPublicRoomsServerDatabaseWithDHT(dataSourceName string, dht *dht.IpfsDHT return postgreswithdht.NewPublicRoomsServerDatabase(dataSourceName, dht) } } - -// NewPublicRoomsServerDatabase opens a database connection. -func NewPublicRoomsServerDatabaseWithPubSub(dataSourceName string, pubsub *pubsub.PubSub) (Database, error) { - uri, err := url.Parse(dataSourceName) - if err != nil { - return postgreswithpubsub.NewPublicRoomsServerDatabase(dataSourceName, pubsub) - } - switch uri.Scheme { - case schemePostgres: - return postgreswithpubsub.NewPublicRoomsServerDatabase(dataSourceName, pubsub) - case schemeFile: - return sqlite3.NewPublicRoomsServerDatabase(dataSourceName) - default: - return postgreswithpubsub.NewPublicRoomsServerDatabase(dataSourceName, pubsub) - } -}