From f68e9c0a790e981bc3e65861f59f6c2e986a748e Mon Sep 17 00:00:00 2001
From: Benjamin Wenger <ben@elixxir.ioo>
Date: Mon, 15 Feb 2021 09:30:03 -0800
Subject: [PATCH] fixed the period of first ID generation

---
 network/internal/internal.go     | 6 ++++--
 network/manager.go               | 5 +++--
 network/message/critical.go      | 2 +-
 network/message/garbled_test.go  | 2 +-
 network/message/sendCmix.go      | 2 +-
 network/message/sendCmix_test.go | 4 ++--
 network/rounds/retrieve.go       | 4 ++--
 7 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/network/internal/internal.go b/network/internal/internal.go
index 51b25214c..fc0d6aa42 100644
--- a/network/internal/internal.go
+++ b/network/internal/internal.go
@@ -28,8 +28,10 @@ type Internal struct {
 	//contains the health tracker which keeps track of if from the client's
 	//perspective, the network is in good condition
 	Health *health.Tracker
-	//ID of the node
-	Uid *id.ID
+	//ID which messages are sent as
+	TransmissionID *id.ID
+	//ID which messages are received as
+	ReceptionID *id.ID
 	//contains the network instance
 	Instance *network.Instance
 
diff --git a/network/manager.go b/network/manager.go
index 686e2a60d..5839b66c4 100644
--- a/network/manager.go
+++ b/network/manager.go
@@ -82,7 +82,8 @@ func NewManager(session *storage.Session, switchboard *switchboard.Switchboard,
 		Health:           health.Init(instance, params.NetworkHealthTimeout),
 		NodeRegistration: make(chan network.NodeGateway, params.RegNodesBufferLen),
 		Instance:         instance,
-		Uid:              session.User().GetCryptographicIdentity().GetTransmissionID(),
+		TransmissionID:   session.User().GetCryptographicIdentity().GetTransmissionID(),
+		ReceptionID: 	  session.User().GetCryptographicIdentity().GetReceptionID(),
 	}
 
 	//create sub managers
@@ -133,7 +134,7 @@ func (m *manager) Follow() (stoppable.Stoppable, error) {
 	// Round processing
 	multi.Add(m.round.StartProcessors())
 
-	multi.Add(ephemeral.Track(m.Session, m.Comms.Id))
+	multi.Add(ephemeral.Track(m.Session, m.ReceptionID))
 
 	//set the running status back to 0 so it can be started again
 	closer := stoppable.NewCleanup(multi, func(time.Duration) error {
diff --git a/network/message/critical.go b/network/message/critical.go
index cb29ae3f3..5036bd521 100644
--- a/network/message/critical.go
+++ b/network/message/critical.go
@@ -85,7 +85,7 @@ func (m *Manager) criticalMessages() {
 	for msg, has := critRawMsgs.Next(); has; msg, has = critRawMsgs.Next() {
 		go func(msg format.Message) {
 			//send the message
-			round, _, err := m.SendCMIX(msg, m.Uid, param)
+			round, _, err := m.SendCMIX(msg, m.TransmissionID, param)
 			//if the message fail to send, notify the buffer so it can be handled
 			//in the future and exit
 			if err != nil {
diff --git a/network/message/garbled_test.go b/network/message/garbled_test.go
index e72a946e9..21098b72b 100644
--- a/network/message/garbled_test.go
+++ b/network/message/garbled_test.go
@@ -52,7 +52,7 @@ func TestManager_CheckGarbledMessages(t *testing.T) {
 		Rng:              fastRNG.NewStreamGenerator(1, 1, csprng.NewSystemRNG),
 		Comms:            comms,
 		Health:           nil,
-		Uid:              sess1.GetUser().TransmissionID,
+		TransmissionID:   sess1.GetUser().TransmissionID,
 		Instance:         nil,
 		NodeRegistration: nil,
 	}
diff --git a/network/message/sendCmix.go b/network/message/sendCmix.go
index e03a4660c..5a884a59c 100644
--- a/network/message/sendCmix.go
+++ b/network/message/sendCmix.go
@@ -37,7 +37,7 @@ const sendTimeBuffer = uint64(100 * time.Millisecond)
 // WARNING: Potentially Unsafe
 // Public manager function to send a message over CMIX
 func (m *Manager) SendCMIX(msg format.Message, recipient *id.ID, param params.CMIX) (id.Round, ephemeral.Id, error) {
-	return sendCmixHelper(msg, recipient, param, m.Instance, m.Session, m.nodeRegistration, m.Rng, m.Uid, m.Comms)
+	return sendCmixHelper(msg, recipient, param, m.Instance, m.Session, m.nodeRegistration, m.Rng, m.TransmissionID, m.Comms)
 }
 
 // Payloads send are not End to End encrypted, MetaData is NOT protected with
diff --git a/network/message/sendCmix_test.go b/network/message/sendCmix_test.go
index a623c77fa..2b8e78326 100644
--- a/network/message/sendCmix_test.go
+++ b/network/message/sendCmix_test.go
@@ -89,7 +89,7 @@ func Test_attemptSendCmix(t *testing.T) {
 		Rng:              fastRNG.NewStreamGenerator(1, 1, csprng.NewSystemRNG),
 		Comms:            comms,
 		Health:           nil,
-		Uid:              sess1.GetUser().TransmissionID,
+		TransmissionID:   sess1.GetUser().TransmissionID,
 		Instance:         inst,
 		NodeRegistration: nil,
 	}
@@ -104,7 +104,7 @@ func Test_attemptSendCmix(t *testing.T) {
 	e2e.SetUnencrypted(msgCmix, m.Session.User().GetCryptographicIdentity().GetTransmissionID())
 	_, _, err = sendCmixHelper(msgCmix, sess2.GetUser().ReceptionID, params.GetDefaultCMIX(),
 		m.Instance, m.Session, m.nodeRegistration, m.Rng,
-		m.Uid, &MockSendCMIXComms{t: t})
+		m.TransmissionID, &MockSendCMIXComms{t: t})
 	if err != nil {
 		t.Errorf("Failed to sendcmix: %+v", err)
 	}
diff --git a/network/rounds/retrieve.go b/network/rounds/retrieve.go
index 05a038211..8ef4755b5 100644
--- a/network/rounds/retrieve.go
+++ b/network/rounds/retrieve.go
@@ -71,7 +71,7 @@ func (m *Manager) getMessagesFromGateway(roundInfo *pb.RoundInfo,
 
 	// send the request
 	msgReq := &pb.GetMessages{
-		ClientID: m.Uid.Marshal(),
+		ClientID: m.TransmissionID.Marshal(),
 		RoundID:  uint64(rid),
 	}
 	msgResp, err := comms.RequestMessages(gwHost, msgReq)
@@ -97,7 +97,7 @@ func (m *Manager) getMessagesFromGateway(roundInfo *pb.RoundInfo,
 		jww.WARN.Printf("host %s has no messages for client %s "+
 			" in round %d. This happening every once in a while is normal,"+
 			" but can be indicitive of a problem if it is consistant", gwHost,
-			m.Uid, rid)
+			m.TransmissionID, rid)
 		return message.Bundle{}, nil
 	}
 
-- 
GitLab