From 2b011c28c5f5a21dce42f621e089d7e8231757ff Mon Sep 17 00:00:00 2001 From: Benjamin Wenger <ben@elixxir.ioo> Date: Wed, 26 Aug 2020 13:36:38 -0700 Subject: [PATCH] moved e2e and finalized the context object --- context/context.go | 15 +++++++++++++++ context/message.go | 9 +++++++++ context/networkManager.go | 17 +++++++++++++++++ {key => e2e}/context.go | 2 +- {key => e2e}/fingerprintAccess.go | 2 +- {key => e2e}/key.go | 2 +- {key => e2e}/key_test.go | 2 +- {key => e2e}/manager.go | 2 +- {key => e2e}/params.go | 2 +- {key => e2e}/params_test.go | 2 +- {key => e2e}/session.go | 2 +- {key => e2e}/sessionBuff.go | 2 +- {key => e2e}/sessionID.go | 2 +- {key => e2e}/sessionType.go | 2 +- {key => e2e}/sessionType_test.go | 2 +- {key => e2e}/session_test.go | 2 +- {key => e2e}/stateVector.go | 6 ++++-- {key => e2e}/stateVector_test.go | 2 +- {key => e2e}/status.go | 2 +- {key => e2e}/status_test.go | 2 +- {key => e2e}/store.go | 2 +- 21 files changed, 62 insertions(+), 19 deletions(-) create mode 100644 context/context.go create mode 100644 context/message.go create mode 100644 context/networkManager.go rename {key => e2e}/context.go (93%) rename {key => e2e}/fingerprintAccess.go (94%) rename {key => e2e}/key.go (99%) rename {key => e2e}/key_test.go (99%) rename {key => e2e}/manager.go (99%) rename {key => e2e}/params.go (98%) rename {key => e2e}/params_test.go (98%) rename {key => e2e}/session.go (99%) rename {key => e2e}/sessionBuff.go (99%) rename {key => e2e}/sessionID.go (95%) rename {key => e2e}/sessionType.go (94%) rename {key => e2e}/sessionType_test.go (97%) rename {key => e2e}/session_test.go (99%) rename {key => e2e}/stateVector.go (97%) rename {key => e2e}/stateVector_test.go (99%) rename {key => e2e}/status.go (96%) rename {key => e2e}/status_test.go (98%) rename {key => e2e}/store.go (99%) diff --git a/context/context.go b/context/context.go new file mode 100644 index 000000000..0d50cdcd2 --- /dev/null +++ b/context/context.go @@ -0,0 +1,15 @@ +package context + +import ( + "gitlab.com/elixxir/client/storage" + "gitlab.com/elixxir/primitives/switchboard" +) + +type Context struct { + Session *storage.Session + Switchboard *switchboard.Switchboard + // note that the manager has a pointer to the context in many cases, but + // this interface allows it to be mocked for easy testing without the + // loop + Manager NetworkManager +} diff --git a/context/message.go b/context/message.go new file mode 100644 index 000000000..c0c9315a1 --- /dev/null +++ b/context/message.go @@ -0,0 +1,9 @@ +package context + +import "gitlab.com/xx_network/primitives/id" + +type Message struct { + Recipient *id.ID + Payload []byte + MessageType int32 +} diff --git a/context/networkManager.go b/context/networkManager.go new file mode 100644 index 000000000..910cd1124 --- /dev/null +++ b/context/networkManager.go @@ -0,0 +1,17 @@ +package context + +import ( + "gitlab.com/elixxir/comms/network" + "gitlab.com/elixxir/primitives/format" + "gitlab.com/xx_network/primitives/id" +) + +type NetworkManager interface { + SendE2E(m Message) ([]id.Round, error) + SendUnsafe(m Message) ([]id.Round, error) + SendCMIX(message format.Message) (id.Round, error) + GetRekeyChan() chan id.ID + GetInstance() *network.Instance + //placeholder to stop active threads + Kill() bool +} diff --git a/key/context.go b/e2e/context.go similarity index 93% rename from key/context.go rename to e2e/context.go index 1d7ac802a..771646565 100644 --- a/key/context.go +++ b/e2e/context.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "gitlab.com/elixxir/client/storage" diff --git a/key/fingerprintAccess.go b/e2e/fingerprintAccess.go similarity index 94% rename from key/fingerprintAccess.go rename to e2e/fingerprintAccess.go index 586876090..a0dde4290 100644 --- a/key/fingerprintAccess.go +++ b/e2e/fingerprintAccess.go @@ -1,4 +1,4 @@ -package key +package e2e type fingerprintAccess interface { // Receives a list of fingerprints to add. Overrides on collision. diff --git a/key/key.go b/e2e/key.go similarity index 99% rename from key/key.go rename to e2e/key.go index b59c7f6af..69fa181d1 100644 --- a/key/key.go +++ b/e2e/key.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "github.com/pkg/errors" diff --git a/key/key_test.go b/e2e/key_test.go similarity index 99% rename from key/key_test.go rename to e2e/key_test.go index 2073d831a..78220af85 100644 --- a/key/key_test.go +++ b/e2e/key_test.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "bytes" diff --git a/key/manager.go b/e2e/manager.go similarity index 99% rename from key/manager.go rename to e2e/manager.go index 68886a2df..993502487 100644 --- a/key/manager.go +++ b/e2e/manager.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "github.com/pkg/errors" diff --git a/key/params.go b/e2e/params.go similarity index 98% rename from key/params.go rename to e2e/params.go index d8c62be12..93fcea60e 100644 --- a/key/params.go +++ b/e2e/params.go @@ -1,4 +1,4 @@ -package key +package e2e import "gitlab.com/elixxir/crypto/e2e" diff --git a/key/params_test.go b/e2e/params_test.go similarity index 98% rename from key/params_test.go rename to e2e/params_test.go index edf0360de..616947cf1 100644 --- a/key/params_test.go +++ b/e2e/params_test.go @@ -1,4 +1,4 @@ -package key +package e2e // Testing file for the params.go functions diff --git a/key/session.go b/e2e/session.go similarity index 99% rename from key/session.go rename to e2e/session.go index f7f0bb34a..15e3e0640 100644 --- a/key/session.go +++ b/e2e/session.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "encoding/json" diff --git a/key/sessionBuff.go b/e2e/sessionBuff.go similarity index 99% rename from key/sessionBuff.go rename to e2e/sessionBuff.go index 19994b756..f5cba0e8e 100644 --- a/key/sessionBuff.go +++ b/e2e/sessionBuff.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "encoding/base64" diff --git a/key/sessionID.go b/e2e/sessionID.go similarity index 95% rename from key/sessionID.go rename to e2e/sessionID.go index 4ac8edfb7..c5837c2cc 100644 --- a/key/sessionID.go +++ b/e2e/sessionID.go @@ -1,4 +1,4 @@ -package key +package e2e import "encoding/base64" diff --git a/key/sessionType.go b/e2e/sessionType.go similarity index 94% rename from key/sessionType.go rename to e2e/sessionType.go index 163509b30..44081daa9 100644 --- a/key/sessionType.go +++ b/e2e/sessionType.go @@ -1,4 +1,4 @@ -package key +package e2e type SessionType uint8 diff --git a/key/sessionType_test.go b/e2e/sessionType_test.go similarity index 97% rename from key/sessionType_test.go rename to e2e/sessionType_test.go index 109376ac2..404ca7a76 100644 --- a/key/sessionType_test.go +++ b/e2e/sessionType_test.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "math" diff --git a/key/session_test.go b/e2e/session_test.go similarity index 99% rename from key/session_test.go rename to e2e/session_test.go index 63bd0215e..c3c785d31 100644 --- a/key/session_test.go +++ b/e2e/session_test.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "gitlab.com/elixxir/client/storage" diff --git a/key/stateVector.go b/e2e/stateVector.go similarity index 97% rename from key/stateVector.go rename to e2e/stateVector.go index ab22065a4..14cc72bf5 100644 --- a/key/stateVector.go +++ b/e2e/stateVector.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "encoding/json" @@ -8,6 +8,8 @@ import ( "time" ) +const currentStateVectorVersion = 0 + type stateVector struct { ctx *context key string @@ -75,7 +77,7 @@ func (sv *stateVector) save() error { } obj := storage.VersionedObject{ - Version: currentSessionVersion, + Version: currentStateVectorVersion, Timestamp: now, Data: data, } diff --git a/key/stateVector_test.go b/e2e/stateVector_test.go similarity index 99% rename from key/stateVector_test.go rename to e2e/stateVector_test.go index 6f069b430..57dcf28b0 100644 --- a/key/stateVector_test.go +++ b/e2e/stateVector_test.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "fmt" diff --git a/key/status.go b/e2e/status.go similarity index 96% rename from key/status.go rename to e2e/status.go index d39610fe3..e47db3644 100644 --- a/key/status.go +++ b/e2e/status.go @@ -1,4 +1,4 @@ -package key +package e2e import "fmt" diff --git a/key/status_test.go b/e2e/status_test.go similarity index 98% rename from key/status_test.go rename to e2e/status_test.go index 991d76a9d..c7475900f 100644 --- a/key/status_test.go +++ b/e2e/status_test.go @@ -1,4 +1,4 @@ -package key +package e2e // Testing file for the status.go functions diff --git a/key/store.go b/e2e/store.go similarity index 99% rename from key/store.go rename to e2e/store.go index b83301a97..23ac81153 100644 --- a/key/store.go +++ b/e2e/store.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "encoding/json" -- GitLab