diff --git a/context/context.go b/context/context.go new file mode 100644 index 0000000000000000000000000000000000000000..0d50cdcd2c966f8743285d68f43232db2bd9ad93 --- /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 0000000000000000000000000000000000000000..c0c9315a1759f314d022f7f1402f27ff2c00dc52 --- /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 0000000000000000000000000000000000000000..910cd11241f90c934eea954ad72f583dd23d9ad1 --- /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 1d7ac802a439f08a502fa4a7db4efa173b729a67..771646565aa1f75e8069cb05917c974ca27da0b1 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 5868760902621ae41a353e2360e83ebaa35f99cd..a0dde429058295f2274992e375c7901c3c6a5ff3 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 b59c7f6af7f28bc2591cdbd38cbce2b48ae309e0..69fa181d141ad119e88a44d92ff600c5a4553bfc 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 2073d831adbb2b65baf597dbc6a3135ff0bc3744..78220af85ea13d368cac9c410d2b551040860cd9 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 68886a2df89819f8648c2e7f488abe7f7b1dd41c..9935024876b78da17e58a7a65f46807e5f61ca3f 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 d8c62be1241dbc1a77f0f1e186983202cccd5a81..93fcea60e8a6676f69e36492bb7c4ad6e30b54d0 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 edf0360de01cecc811e5d861b28fdbf86665c2ee..616947cf180c6cb5d1e8af98fe1ab0ea09c5d6cc 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 f7f0bb34a9141338154dd22b8ff3636b6e016020..15e3e0640308bbce86c6da04e6e4017ad1771f06 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 19994b75664edf546500a2f42169658f281606ac..f5cba0e8e5117d4b7ec11d114aba887b2298c8f4 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 4ac8edfb78bfd1a80247571a8a7d76c9a49f9176..c5837c2cc9ad5688d12a83b5888ed4e1c41982b6 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 163509b30297e80e558bf1c6b229581558d99ed0..44081daa95c387420094a289c8cfdc13eac8a504 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 109376ac2983b1dd6886b52e4273ce40977bb5eb..404ca7a76f3edf71d142f9db815b5f42d4d0d7c9 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 63bd0215ebd7b67097128dec0373a74fd6e55998..c3c785d314ccdb27d73ded75575fac5fbb30e499 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 ab22065a437282525cd07fffa4f627298d44807d..14cc72bf5c5470a75c17b0b3f38991b7b3131aec 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 6f069b4307aefb0bf428a1e8c43d48858cbca5e9..57dcf28b02e879fa487c811d532fdaacc4a86d2e 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 d39610fe3b2ee7c8ff22f7c9a0836f483f870bfa..e47db36448f8ac4f47df8282ba494be5e0a8f975 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 991d76a9d30c121151bc2529e5da8133be3a704d..c7475900fb6a23a25c7053b91957abedf9724f36 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 b83301a97529f4a7b0a4263d85ddcd64b29827f4..23ac8115311baa76f5dbf51af2e530cbbe4a908b 100644 --- a/key/store.go +++ b/e2e/store.go @@ -1,4 +1,4 @@ -package key +package e2e import ( "encoding/json"