From 7411854d8b8a51d6ed3ff76404d511756a02be44 Mon Sep 17 00:00:00 2001
From: Jake Taylor <jake@elixxir.io>
Date: Thu, 23 Jun 2022 12:10:27 -0500
Subject: [PATCH] Remove connect from client interface

---
 cmix/client.go               |  8 ++++++--
 cmix/interface.go            |  6 ------
 connect/utils_test.go        |  4 ----
 e2e/fpGenerator_test.go      |  2 --
 e2e/rekey/utils_test.go      |  5 -----
 e2e/utils_test.go            |  1 -
 xxdk/cmix.go                 | 17 ++++++-----------
 xxdk/e2e.go                  | 14 ++------------
 xxdk/utilsInterfaces_test.go |  4 ----
 9 files changed, 14 insertions(+), 47 deletions(-)

diff --git a/cmix/client.go b/cmix/client.go
index 92c2d1a14..59640e2b0 100644
--- a/cmix/client.go
+++ b/cmix/client.go
@@ -117,10 +117,14 @@ func NewClient(params Params, comms *commClient.Comms, session storage.Session,
 	c.Handler = message.NewHandler(c.param.Message, c.session.GetKV(),
 		c.events, c.session.GetReceptionID())
 
-	return c, nil
+	err := c.connect(session.GetNDF())
+	return c, err
 }
 
-func (c *client) Connect(ndf *ndf.NetworkDefinition) error {
+// connect turns on network handlers, initializing a host pool and
+// network health monitors. This should be called before
+// network Follow command is called.
+func (c *client) connect(ndf *ndf.NetworkDefinition) error {
 	// Start network instance
 	instance, err := commNetwork.NewInstance(
 		c.comms.ProtoComms, ndf, nil, nil, commNetwork.None,
diff --git a/cmix/interface.go b/cmix/interface.go
index 41e15dd3e..a5db8b3cf 100644
--- a/cmix/interface.go
+++ b/cmix/interface.go
@@ -14,15 +14,9 @@ import (
 	"gitlab.com/xx_network/comms/connect"
 	"gitlab.com/xx_network/primitives/id"
 	"gitlab.com/xx_network/primitives/id/ephemeral"
-	"gitlab.com/xx_network/primitives/ndf"
 )
 
 type Client interface {
-	// Connect turns on network handlers, initializing a host pool and
-	// network health monitors. This should be called before
-	// network Follow command is called.
-	Connect(ndf *ndf.NetworkDefinition) error
-
 	// Follow starts the tracking of the network in a new thread.
 	// Errors that occur are reported on the ClientErrorReport function if
 	// passed. The returned stoppable can be used to stop the follower.
diff --git a/connect/utils_test.go b/connect/utils_test.go
index 45038764f..dec043d04 100644
--- a/connect/utils_test.go
+++ b/connect/utils_test.go
@@ -199,10 +199,6 @@ func newMockCmix() *mockCmix {
 	return &mockCmix{}
 }
 
-func (m mockCmix) Connect(ndf *ndf.NetworkDefinition) error {
-	return nil
-}
-
 func (m *mockCmix) Follow(report cmix.ClientErrorReport) (stoppable.Stoppable, error) {
 	return nil, nil
 }
diff --git a/e2e/fpGenerator_test.go b/e2e/fpGenerator_test.go
index daf82b417..ebd2d7cc3 100644
--- a/e2e/fpGenerator_test.go
+++ b/e2e/fpGenerator_test.go
@@ -20,7 +20,6 @@ import (
 	"gitlab.com/xx_network/comms/connect"
 	"gitlab.com/xx_network/primitives/id"
 	"gitlab.com/xx_network/primitives/id/ephemeral"
-	"gitlab.com/xx_network/primitives/ndf"
 	"math/rand"
 	"sync"
 	"testing"
@@ -112,7 +111,6 @@ func newMockFpgCmix() *mockFpgCmix {
 	}
 }
 
-func (m *mockFpgCmix) Connect(*ndf.NetworkDefinition) error                       { return nil }
 func (m *mockFpgCmix) Follow(cmix.ClientErrorReport) (stoppable.Stoppable, error) { return nil, nil }
 func (m *mockFpgCmix) GetMaxMessageLength() int                                   { return 0 }
 func (m *mockFpgCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte, []byte, cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
diff --git a/e2e/rekey/utils_test.go b/e2e/rekey/utils_test.go
index e30b22c25..3e1f77f1d 100644
--- a/e2e/rekey/utils_test.go
+++ b/e2e/rekey/utils_test.go
@@ -218,11 +218,6 @@ func (m mockServiceHandler) DeleteService(clientID *id.ID, toDelete message.Serv
 
 type mockNetManager struct{}
 
-func (m *mockNetManager) Connect(ndf *ndf.NetworkDefinition) error {
-	// TODO implement me
-	panic("implement me")
-}
-
 func (m *mockNetManager) GetIdentity(get *id.ID) (identity.TrackedID, error) {
 	//TODO implement me
 	panic("implement me")
diff --git a/e2e/utils_test.go b/e2e/utils_test.go
index 36bccbe72..72bcfb340 100644
--- a/e2e/utils_test.go
+++ b/e2e/utils_test.go
@@ -166,7 +166,6 @@ func newMockCmix(myID *id.ID, handler *mockCmixHandler, t testing.TB) *mockCmix
 	}
 }
 
-func (m *mockCmix) Connect(*ndf.NetworkDefinition) error                       { return nil }
 func (m *mockCmix) Follow(cmix.ClientErrorReport) (stoppable.Stoppable, error) { return nil, nil }
 
 func (m *mockCmix) GetMaxMessageLength() int {
diff --git a/xxdk/cmix.go b/xxdk/cmix.go
index 8be242968..d8c3282f7 100644
--- a/xxdk/cmix.go
+++ b/xxdk/cmix.go
@@ -154,12 +154,6 @@ func OpenCmix(storageDir string, password []byte,
 		return nil, err
 	}
 
-	c.network, err = cmix.NewClient(parameters.CMix, c.comms, c.storage,
-		c.rng, c.events)
-	if err != nil {
-		return nil, err
-	}
-
 	return c, nil
 }
 
@@ -211,6 +205,12 @@ func LoadCmix(storageDir string, password []byte, parameters Params) (*Cmix, err
 		return nil, err
 	}
 
+	c.network, err = cmix.NewClient(parameters.CMix, c.comms, c.storage,
+		c.rng, c.events)
+	if err != nil {
+		return nil, err
+	}
+
 	jww.INFO.Printf("Cmix Logged in: \n\tTransmissionID: %s "+
 		"\n\tReceptionID: %s", c.storage.GetTransmissionID(), c.storage.GetReceptionID())
 
@@ -243,11 +243,6 @@ func LoadCmix(storageDir string, password []byte, parameters Params) (*Cmix, err
 		}
 	}
 
-	err = c.network.Connect(def)
-	if err != nil {
-		return nil, err
-	}
-
 	err = c.registerFollower()
 	if err != nil {
 		return nil, err
diff --git a/xxdk/e2e.go b/xxdk/e2e.go
index 055f18cfe..e3b72e512 100644
--- a/xxdk/e2e.go
+++ b/xxdk/e2e.go
@@ -94,7 +94,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte,
 		return nil, err
 	}
 
-	c, err := OpenCmix(storageDir, password, params)
+	c, err := LoadCmix(storageDir, password, params)
 	if err != nil {
 		return nil, err
 	}
@@ -113,11 +113,6 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte,
 			"able to register or track network.")
 	}
 
-	err = c.network.Connect(def)
-	if err != nil {
-		return nil, err
-	}
-
 	err = c.registerFollower()
 	if err != nil {
 		return nil, err
@@ -151,7 +146,7 @@ func LoginWithProtoClient(storageDir string, password []byte,
 		return nil, err
 	}
 
-	c, err := OpenCmix(storageDir, password, params)
+	c, err := LoadCmix(storageDir, password, params)
 	if err != nil {
 		return nil, err
 	}
@@ -163,11 +158,6 @@ func LoginWithProtoClient(storageDir string, password []byte,
 		return nil, err
 	}
 
-	err = c.network.Connect(def)
-	if err != nil {
-		return nil, err
-	}
-
 	c.network.AddIdentity(c.GetUser().ReceptionID, time.Time{}, true)
 
 	// FIXME: The callbacks need to be set, so I suppose we would need to
diff --git a/xxdk/utilsInterfaces_test.go b/xxdk/utilsInterfaces_test.go
index 107fb0677..29317d133 100644
--- a/xxdk/utilsInterfaces_test.go
+++ b/xxdk/utilsInterfaces_test.go
@@ -7,7 +7,6 @@
 package xxdk
 
 import (
-	"gitlab.com/xx_network/primitives/ndf"
 	"time"
 
 	"gitlab.com/elixxir/client/cmix"
@@ -93,9 +92,6 @@ func (d *dummyEventMgr) EventService() (stoppable.Stoppable, error) {
 }
 
 /* Below methods built for interface adherence */
-func (t *testNetworkManagerGeneric) Connect(ndf *ndf.NetworkDefinition) error {
-	return nil
-}
 func (t *testNetworkManagerGeneric) Follow(report cmix.ClientErrorReport) (stoppable.Stoppable, error) {
 	return nil, nil
 }
-- 
GitLab