From 4029f41490c7f8b203d8c9ba1f759a75457f22cc Mon Sep 17 00:00:00 2001 From: Benjamin Wenger <ben@elixxir.ioo> Date: Thu, 7 Apr 2022 09:40:41 -0700 Subject: [PATCH] network.Manger -> cmix.Client --- api/client.go | 8 +- api/send.go | 2 +- api/utilsInterfaces_test.go | 2 +- api/utils_test.go | 2 +- auth/callbacks.go | 4 +- auth/confirm.go | 10 +- auth/receivedConfirm.go | 6 +- auth/receivedRequest.go | 4 +- auth/request.go | 8 +- auth/state.go | 6 +- bindings/client.go | 6 +- cmd/root.go | 4 +- cmd/utils.go | 8 +- {network => cmix}/address/addressSpace.go | 0 .../address/addressSpace_test.go | 0 {network => cmix}/check.go | 4 +- {network => cmix}/check_test.go | 4 +- network/manager.go => cmix/client.go | 118 +++++++++--------- {network => cmix}/cmixMessageBuffer.go | 2 +- {network => cmix}/cmixMessageBuffer_test.go | 2 +- {network => cmix}/critical.go | 6 +- {network => cmix}/critical_test.go | 2 +- {network => cmix}/follow.go | 102 +++++++-------- {network => cmix}/follow_test.go | 4 +- {network => cmix}/gateway/hostPool.go | 0 {network => cmix}/gateway/hostpool_test.go | 0 {network => cmix}/gateway/sender.go | 0 {network => cmix}/gateway/sender_test.go | 0 {network => cmix}/gateway/storeHostList.go | 0 .../gateway/storeHostList_test.go | 0 {network => cmix}/gateway/utils_test.go | 0 {network => cmix}/health/tracker.go | 0 {network => cmix}/health/tracker_test.go | 0 {network => cmix}/historical/historical.go | 2 +- .../historical/historical_test.go | 2 +- {network => cmix}/historical/params.go | 0 {network => cmix}/historical/round.go | 0 .../identity/receptionID/IdentityUse.go | 2 +- .../identity/receptionID/fake.go | 0 .../identity/receptionID/fake_test.go | 0 .../identity/receptionID/identity.go | 0 .../identity/receptionID/identity_test.go | 0 .../identity/receptionID/registration.go | 2 +- .../identity/receptionID/registration_test.go | 0 .../identity/receptionID/store.go | 0 .../receptionID/store/checkedRounds.go | 0 .../receptionID/store/checkedRounds_test.go | 0 .../receptionID/store/earliestRound.go | 0 .../receptionID/store/unknownRounds.go | 0 .../receptionID/store/unknownRounds_test.go | 0 .../identity/receptionID/store_test.go | 0 {network => cmix}/identity/tracker.go | 4 +- {network => cmix}/interface.go | 26 ++-- {network => cmix}/message/bundle.go | 4 +- {network => cmix}/message/fingerprints.go | 0 .../message/fingerprints_test.go | 4 +- {network => cmix}/message/handler.go | 0 {network => cmix}/message/inProgress.go | 2 +- {network => cmix}/message/inProgress_test.go | 2 +- .../message/meteredCmixMessageBuffer.go | 2 +- .../message/meteredCmixMessageBuffer_test.go | 2 +- {network => cmix}/message/params.go | 0 {network => cmix}/message/pickup.go | 0 {network => cmix}/message/processor.go | 4 +- .../message/serviceGenerators.go | 0 {network => cmix}/message/serviceInterface.go | 0 {network => cmix}/message/serviceTracker.go | 0 {network => cmix}/message/services.go | 0 {network => cmix}/nodes/mixCypher.go | 0 {network => cmix}/nodes/mixCypher_test.go | 0 {network => cmix}/nodes/register.go | 2 +- {network => cmix}/nodes/register_test.go | 0 {network => cmix}/nodes/registrar.go | 2 +- {network => cmix}/nodes/registrar_test.go | 2 +- {network => cmix}/nodes/store.go | 0 {network => cmix}/nodes/storeKey.go | 0 {network => cmix}/nodes/store_test.go | 0 {network => cmix}/nodes/utils_test.go | 2 +- {network => cmix}/params.go | 8 +- {network => cmix}/params_test.go | 2 +- {network => cmix}/polltracker.go | 2 +- {network => cmix}/remoteFilters.go | 2 +- {network => cmix}/remoteFilters_test.go | 2 +- {network => cmix}/results.go | 14 +-- {network => cmix}/results_test.go | 8 +- {network => cmix}/roundTracking.go | 2 +- {network => cmix}/rounds/get.go | 4 +- {network => cmix}/rounds/manager.go | 10 +- {network => cmix}/rounds/params.go | 0 {network => cmix}/rounds/retrieve.go | 8 +- {network => cmix}/rounds/retrieve_test.go | 8 +- {network => cmix}/rounds/roundGetter.go | 0 .../rounds/store/roundIdentity.go | 0 {network => cmix}/rounds/store/store.go | 0 .../rounds/store/uncheckedRounds.go | 0 .../rounds/store/uncheckedRounds_test.go | 0 {network => cmix}/rounds/unchecked.go | 4 +- {network => cmix}/rounds/unchecked_test.go | 4 +- {network => cmix}/rounds/utils_test.go | 4 +- {network => cmix}/sendCmix.go | 66 +++++----- {network => cmix}/sendCmixUtils.go | 6 +- {network => cmix}/sendCmix_test.go | 10 +- {network => cmix}/sendManyCmix.go | 52 ++++---- {network => cmix}/sendManyCmix_test.go | 12 +- {network => cmix}/trackResults.go | 2 +- {network => cmix}/utils_test.go | 14 +-- dummy/send.go | 2 +- dummy/utils_test.go | 4 +- e2e/critical.go | 4 +- e2e/e2eMessageBuffer_test.go | 4 +- e2e/interface.go | 2 +- e2e/manager.go | 10 +- e2e/params.go | 6 +- e2e/processor.go | 4 +- e2e/ratchet/partner/interface.go | 2 +- e2e/ratchet/partner/manager.go | 2 +- e2e/ratchet/partner/manager_test.go | 2 +- e2e/ratchet/ratchet.go | 2 +- e2e/ratchet/serviceList.go | 4 +- e2e/ratchet/storage.go | 2 +- e2e/ratchet/utils_test.go | 2 +- e2e/receive/message.go | 2 +- e2e/rekey/exchange.go | 6 +- e2e/rekey/rekey.go | 6 +- e2e/rekey/trigger.go | 8 +- e2e/rekey/utils_test.go | 22 ++-- e2e/sendE2E.go | 6 +- e2e/sendUnsafe.go | 4 +- e2e/unsafeProcessor.go | 4 +- fileTransfer/manager.go | 4 +- fileTransfer/oldTransferRecovery_test.go | 20 +-- fileTransfer/send.go | 10 +- fileTransfer/send_test.go | 8 +- fileTransfer/utils_test.go | 4 +- groupChat/manager.go | 8 +- groupChat/receive.go | 6 +- groupChat/send.go | 14 +-- groupChat/utils_test.go | 2 +- single/manager.go | 2 +- single/manager_test.go | 4 +- single/response.go | 4 +- single/transmission.go | 2 +- single/transmission_test.go | 2 +- ud/utils_test.go | 2 +- 144 files changed, 413 insertions(+), 413 deletions(-) rename {network => cmix}/address/addressSpace.go (100%) rename {network => cmix}/address/addressSpace_test.go (100%) rename {network => cmix}/check.go (94%) rename {network => cmix}/check_test.go (95%) rename network/manager.go => cmix/client.go (66%) rename {network => cmix}/cmixMessageBuffer.go (99%) rename {network => cmix}/cmixMessageBuffer_test.go (99%) rename {network => cmix}/critical.go (96%) rename {network => cmix}/critical_test.go (98%) rename {network => cmix}/follow.go (82%) rename {network => cmix}/follow_test.go (84%) rename {network => cmix}/gateway/hostPool.go (100%) rename {network => cmix}/gateway/hostpool_test.go (100%) rename {network => cmix}/gateway/sender.go (100%) rename {network => cmix}/gateway/sender_test.go (100%) rename {network => cmix}/gateway/storeHostList.go (100%) rename {network => cmix}/gateway/storeHostList_test.go (100%) rename {network => cmix}/gateway/utils_test.go (100%) rename {network => cmix}/health/tracker.go (100%) rename {network => cmix}/health/tracker_test.go (100%) rename {network => cmix}/historical/historical.go (99%) rename {network => cmix}/historical/historical_test.go (99%) rename {network => cmix}/historical/params.go (100%) rename {network => cmix}/historical/round.go (100%) rename {network => cmix}/identity/receptionID/IdentityUse.go (92%) rename {network => cmix}/identity/receptionID/fake.go (100%) rename {network => cmix}/identity/receptionID/fake_test.go (100%) rename {network => cmix}/identity/receptionID/identity.go (100%) rename {network => cmix}/identity/receptionID/identity_test.go (100%) rename {network => cmix}/identity/receptionID/registration.go (97%) rename {network => cmix}/identity/receptionID/registration_test.go (100%) rename {network => cmix}/identity/receptionID/store.go (100%) rename {network => cmix}/identity/receptionID/store/checkedRounds.go (100%) rename {network => cmix}/identity/receptionID/store/checkedRounds_test.go (100%) rename {network => cmix}/identity/receptionID/store/earliestRound.go (100%) rename {network => cmix}/identity/receptionID/store/unknownRounds.go (100%) rename {network => cmix}/identity/receptionID/store/unknownRounds_test.go (100%) rename {network => cmix}/identity/receptionID/store_test.go (100%) rename {network => cmix}/identity/tracker.go (99%) rename {network => cmix}/interface.go (95%) rename {network => cmix}/message/bundle.go (87%) rename {network => cmix}/message/fingerprints.go (100%) rename {network => cmix}/message/fingerprints_test.go (98%) rename {network => cmix}/message/handler.go (100%) rename {network => cmix}/message/inProgress.go (98%) rename {network => cmix}/message/inProgress_test.go (96%) rename {network => cmix}/message/meteredCmixMessageBuffer.go (99%) rename {network => cmix}/message/meteredCmixMessageBuffer_test.go (99%) rename {network => cmix}/message/params.go (100%) rename {network => cmix}/message/pickup.go (100%) rename {network => cmix}/message/processor.go (85%) rename {network => cmix}/message/serviceGenerators.go (100%) rename {network => cmix}/message/serviceInterface.go (100%) rename {network => cmix}/message/serviceTracker.go (100%) rename {network => cmix}/message/services.go (100%) rename {network => cmix}/nodes/mixCypher.go (100%) rename {network => cmix}/nodes/mixCypher_test.go (100%) rename {network => cmix}/nodes/register.go (99%) rename {network => cmix}/nodes/register_test.go (100%) rename {network => cmix}/nodes/registrar.go (98%) rename {network => cmix}/nodes/registrar_test.go (99%) rename {network => cmix}/nodes/store.go (100%) rename {network => cmix}/nodes/storeKey.go (100%) rename {network => cmix}/nodes/store_test.go (100%) rename {network => cmix}/nodes/utils_test.go (99%) rename {network => cmix}/params.go (97%) rename {network => cmix}/params_test.go (99%) rename {network => cmix}/polltracker.go (98%) rename {network => cmix}/remoteFilters.go (98%) rename {network => cmix}/remoteFilters_test.go (99%) rename {network => cmix}/results.go (95%) rename {network => cmix}/results_test.go (97%) rename {network => cmix}/roundTracking.go (99%) rename {network => cmix}/rounds/get.go (95%) rename {network => cmix}/rounds/manager.go (90%) rename {network => cmix}/rounds/params.go (100%) rename {network => cmix}/rounds/retrieve.go (97%) rename {network => cmix}/rounds/retrieve_test.go (98%) rename {network => cmix}/rounds/roundGetter.go (100%) rename {network => cmix}/rounds/store/roundIdentity.go (100%) rename {network => cmix}/rounds/store/store.go (100%) rename {network => cmix}/rounds/store/uncheckedRounds.go (100%) rename {network => cmix}/rounds/store/uncheckedRounds_test.go (100%) rename {network => cmix}/rounds/unchecked.go (96%) rename {network => cmix}/rounds/unchecked_test.go (97%) rename {network => cmix}/rounds/utils_test.go (98%) rename {network => cmix}/sendCmix.go (81%) rename {network => cmix}/sendCmixUtils.go (98%) rename {network => cmix}/sendCmix_test.go (94%) rename {network => cmix}/sendManyCmix.go (86%) rename {network => cmix}/sendManyCmix_test.go (94%) rename {network => cmix}/trackResults.go (98%) rename {network => cmix}/utils_test.go (98%) diff --git a/api/client.go b/api/client.go index 02d8cb741..a7019760a 100644 --- a/api/client.go +++ b/api/client.go @@ -13,13 +13,13 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/auth" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" keyExchange2 "gitlab.com/elixxir/client/e2e/rekey" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/params" "gitlab.com/elixxir/client/interfaces/preimage" "gitlab.com/elixxir/client/interfaces/user" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/registration" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" @@ -349,7 +349,7 @@ func Login(storageDir string, password []byte, parameters params.Network) (*Clie } // Initialize network and link it to context - c.network, err = network.NewManager(c.storage, c.switchboard, c.rng, + c.network, err = cmix.NewManager(c.storage, c.switchboard, c.rng, c.events, c.comms, parameters, def) if err != nil { return nil, err @@ -409,7 +409,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, } // Initialize network and link it to context - c.network, err = network.NewManager(c.storage, c.switchboard, c.rng, + c.network, err = cmix.NewManager(c.storage, c.switchboard, c.rng, c.events, c.comms, parameters, def) if err != nil { return nil, err @@ -467,7 +467,7 @@ func LoginWithProtoClient(storageDir string, password []byte, protoClientJSON [] } // Initialize network and link it to context - c.network, err = network.NewManager(c.storage, c.switchboard, c.rng, + c.network, err = cmix.NewManager(c.storage, c.switchboard, c.rng, c.events, c.comms, parameters, def) if err != nil { return nil, err diff --git a/api/send.go b/api/send.go index 3c6cc0178..5af5704d8 100644 --- a/api/send.go +++ b/api/send.go @@ -49,7 +49,7 @@ func (c *Client) SendUnsafe(m message.Send, param params.Unsafe) ([]id.Round, // if it fails. func (c *Client) SendCMIX(msg format.Message, recipientID *id.ID, param params.CMIX) (id.Round, ephemeral.Id, error) { - jww.INFO.Printf("SendCMIX(%s)", string(msg.GetContents())) + jww.INFO.Printf("Send(%s)", string(msg.GetContents())) return c.network.SendCMIX(msg, recipientID, param) } diff --git a/api/utilsInterfaces_test.go b/api/utilsInterfaces_test.go index 01d2f44b4..29b5f8eb9 100644 --- a/api/utilsInterfaces_test.go +++ b/api/utilsInterfaces_test.go @@ -7,11 +7,11 @@ package api import ( + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/comms/network" diff --git a/api/utils_test.go b/api/utils_test.go index 7bfa08368..2171ee98f 100644 --- a/api/utils_test.go +++ b/api/utils_test.go @@ -9,7 +9,7 @@ package api import ( "bytes" - "gitlab.com/elixxir/client/network/gateway" + "gitlab.com/elixxir/client/cmix/gateway" "testing" "github.com/pkg/errors" diff --git a/auth/callbacks.go b/auth/callbacks.go index 428cf29db..376a4079d 100644 --- a/auth/callbacks.go +++ b/auth/callbacks.go @@ -8,8 +8,8 @@ package auth import ( - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/crypto/contact" "gitlab.com/xx_network/primitives/id" "sync" diff --git a/auth/confirm.go b/auth/confirm.go index 40f7f82ec..a256238ed 100644 --- a/auth/confirm.go +++ b/auth/confirm.go @@ -13,10 +13,10 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/auth/store" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/message" util "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/crypto/contact" cAuth "gitlab.com/elixxir/crypto/e2e/auth" @@ -144,7 +144,7 @@ func (s *State) confirmRequestAuth(partner contact.Contact, me *id.ID) ( return sentRound, err } -func sendAuthConfirm(net network.Manager, partner, me *id.ID, +func sendAuthConfirm(net cmix.Client, partner, me *id.ID, fp format.Fingerprint, payload, mac []byte, event event.Manager) ( id.Round, error) { svc := message.Service{ @@ -153,10 +153,10 @@ func sendAuthConfirm(net network.Manager, partner, me *id.ID, Metadata: nil, } - cmixParam := network.GetDefaultCMIXParams() + cmixParam := cmix.GetDefaultCMIXParams() cmixParam.DebugTag = "auth.Confirm" cmixParam.Critical = true - sentRound, _, err := net.SendCMIX(partner, fp, svc, payload, mac, cmixParam) + sentRound, _, err := net.Send(partner, fp, svc, payload, mac, cmixParam) if err != nil { // if the send fails just set it to failed, it will but automatically // retried diff --git a/auth/receivedConfirm.go b/auth/receivedConfirm.go index 96d88f4b6..cfc733628 100644 --- a/auth/receivedConfirm.go +++ b/auth/receivedConfirm.go @@ -6,10 +6,10 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/auth/store" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/crypto/contact" cAuth "gitlab.com/elixxir/crypto/e2e/auth" "gitlab.com/elixxir/primitives/fact" diff --git a/auth/receivedRequest.go b/auth/receivedRequest.go index 70e43ab01..93010fb8f 100644 --- a/auth/receivedRequest.go +++ b/auth/receivedRequest.go @@ -7,9 +7,9 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/auth/store" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/e2e/ratchet" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" "gitlab.com/elixxir/crypto/contact" cAuth "gitlab.com/elixxir/crypto/e2e/auth" "gitlab.com/elixxir/primitives/fact" diff --git a/auth/request.go b/auth/request.go index a40acddbd..6fe4210cf 100644 --- a/auth/request.go +++ b/auth/request.go @@ -13,9 +13,9 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/message" util "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/crypto/contact" "gitlab.com/elixxir/crypto/cyclic" @@ -112,14 +112,14 @@ func (s *State) requestAuth(partner, me contact.Contact, jww.INFO.Printf("Requesting Auth with %s, msgDigest: %s", partner.ID, format.DigestContents(contents)) - p := network.GetDefaultCMIXParams() + p := cmix.GetDefaultCMIXParams() p.DebugTag = "auth.Request" svc := message.Service{ Identifier: partner.ID.Marshal(), Tag: catalog.Request, Metadata: nil, } - round, _, err := s.net.SendCMIX(partner.ID, requestfp, svc, contents, mac, p) + round, _, err := s.net.Send(partner.ID, requestfp, svc, contents, mac, p) if err != nil { // if the send fails just set it to failed, it will // but automatically retried diff --git a/auth/state.go b/auth/state.go index 052b475f4..93a34792b 100644 --- a/auth/state.go +++ b/auth/state.go @@ -9,11 +9,11 @@ package auth import ( "gitlab.com/elixxir/client/auth/store" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/e2e" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/client/switchboard" @@ -27,7 +27,7 @@ type State struct { confirmCallbacks *callbackMap resetCallbacks *callbackMap - net network.Manager + net cmix.Client e2e e2e.Handler rng *fastRNG.StreamGenerator @@ -45,7 +45,7 @@ type identity struct { request, confirm, reset Callback } -func NewManager(kv *versioned.KV, net network.Manager, e2e e2e.Handler, +func NewManager(kv *versioned.KV, net cmix.Client, e2e e2e.Handler, rng *fastRNG.StreamGenerator, event event.Manager, params Param, defaultID []identity) *State { m := &State{ diff --git a/bindings/client.go b/bindings/client.go index 2068bfbfa..f07598c93 100644 --- a/bindings/client.go +++ b/bindings/client.go @@ -13,7 +13,7 @@ import ( "encoding/json" "errors" "fmt" - "gitlab.com/elixxir/client/network" + "gitlab.com/elixxir/client/cmix" "runtime/pprof" "strings" "sync" @@ -408,7 +408,7 @@ func (c *Client) RegisterRoundEventsHandler(rid int, cb RoundEventCallback, func (c *Client) WaitForRoundCompletion(roundID int, rec RoundCompletionCallback, timeoutMS int) error { - f := func(allRoundsSucceeded, timedOut bool, rounds map[id.Round]network.RoundLookupStatus) { + f := func(allRoundsSucceeded, timedOut bool, rounds map[id.Round]cmix.RoundLookupStatus) { rec.EventCallback(roundID, allRoundsSucceeded, timedOut) } @@ -443,7 +443,7 @@ func (c *Client) WaitForMessageDelivery(marshaledSendReport []byte, "unmarshal: %s", string(marshaledSendReport))) } - f := func(allRoundsSucceeded, timedOut bool, rounds map[id.Round]network.RoundLookupStatus) { + f := func(allRoundsSucceeded, timedOut bool, rounds map[id.Round]cmix.RoundLookupStatus) { results := make([]byte, len(sr.rl.list)) jww.INFO.Printf("Processing WaitForMessageDelivery report "+ "for %v, success: %v, timedout: %v", sr.mid, allRoundsSucceeded, diff --git a/cmd/root.go b/cmd/root.go index 39f8ee6bd..a3bd31ef5 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -14,7 +14,7 @@ import ( "encoding/hex" "encoding/json" "fmt" - "gitlab.com/elixxir/client/network" + "gitlab.com/elixxir/client/cmix" "io/ioutil" "log" "os" @@ -378,7 +378,7 @@ var rootCmd = &cobra.Command{ // Construct the callback function which // verifies successful message send or retries f := func(allRoundsSucceeded, timedOut bool, - rounds map[id.Round]network.RoundLookupStatus) { + rounds map[id.Round]cmix.RoundLookupStatus) { printRoundResults(allRoundsSucceeded, timedOut, rounds, roundIDs, msg) if !allRoundsSucceeded { retryChan <- struct{}{} diff --git a/cmd/utils.go b/cmd/utils.go index 5ded04095..b7dc95276 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -4,8 +4,8 @@ import ( "fmt" jww "github.com/spf13/jwalterweatherman" "github.com/spf13/viper" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/interfaces/message" - "gitlab.com/elixxir/client/network" backupCrypto "gitlab.com/elixxir/crypto/backup" "gitlab.com/elixxir/crypto/contact" "gitlab.com/xx_network/primitives/id" @@ -47,7 +47,7 @@ func printChanRequest(requestor contact.Contact) { // Helper function which prints the round resuls func printRoundResults(allRoundsSucceeded, timedOut bool, - rounds map[id.Round]network.RoundLookupStatus, roundIDs []id.Round, msg message.Send) { + rounds map[id.Round]cmix.RoundLookupStatus, roundIDs []id.Round, msg message.Send) { // Done as string slices for easy and human readable printing successfulRounds := make([]string, 0) @@ -58,9 +58,9 @@ func printRoundResults(allRoundsSucceeded, timedOut bool, // Group all round reports into a category based on their // result (successful, failed, or timed out) if result, exists := rounds[r]; exists { - if result == network.Succeeded { + if result == cmix.Succeeded { successfulRounds = append(successfulRounds, strconv.Itoa(int(r))) - } else if result == network.Failed { + } else if result == cmix.Failed { failedRounds = append(failedRounds, strconv.Itoa(int(r))) } else { timedOutRounds = append(timedOutRounds, strconv.Itoa(int(r))) diff --git a/network/address/addressSpace.go b/cmix/address/addressSpace.go similarity index 100% rename from network/address/addressSpace.go rename to cmix/address/addressSpace.go diff --git a/network/address/addressSpace_test.go b/cmix/address/addressSpace_test.go similarity index 100% rename from network/address/addressSpace_test.go rename to cmix/address/addressSpace_test.go diff --git a/network/check.go b/cmix/check.go similarity index 94% rename from network/check.go rename to cmix/check.go index fd84dc88a..899fe10db 100644 --- a/network/check.go +++ b/cmix/check.go @@ -1,8 +1,8 @@ -package network +package cmix import ( "encoding/binary" - "gitlab.com/elixxir/client/network/identity/receptionID/store" + "gitlab.com/elixxir/client/cmix/identity/receptionID/store" "gitlab.com/xx_network/primitives/id" ) diff --git a/network/check_test.go b/cmix/check_test.go similarity index 95% rename from network/check_test.go rename to cmix/check_test.go index 45a3dedd8..515b468cb 100644 --- a/network/check_test.go +++ b/cmix/check_test.go @@ -1,8 +1,8 @@ -package network +package cmix import ( bloom "gitlab.com/elixxir/bloomfilter" - "gitlab.com/elixxir/client/network/identity/receptionID/store" + "gitlab.com/elixxir/client/cmix/identity/receptionID/store" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/ekv" diff --git a/network/manager.go b/cmix/client.go similarity index 66% rename from network/manager.go rename to cmix/client.go index e47e98183..a161824c7 100644 --- a/network/manager.go +++ b/cmix/client.go @@ -5,25 +5,25 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix // tracker.go controls access to network resources. Interprocess communications // and intra-client state are accessible through the context object. import ( "github.com/pkg/errors" + "gitlab.com/elixxir/client/cmix/address" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/health" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/nodes" + "gitlab.com/elixxir/client/cmix/rounds" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network/address" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/health" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/nodes" - "gitlab.com/elixxir/client/network/rounds" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" - "gitlab.com/elixxir/comms/client" + commClient "gitlab.com/elixxir/comms/client" commNetwork "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/fastRNG" "gitlab.com/elixxir/primitives/format" @@ -41,13 +41,13 @@ import ( // the earliest round when polling with a fake identity. const fakeIdentityRange = 800 -// manager implements the Manager interface inside context. It controls access +// client implements the Client interface inside context. It controls access // to network resources and implements all the communications functions used by // the client. -// CRITICAL: Manager must be private. It embeds submodules that export functions +// CRITICAL: Client must be private. It embeds submodules that export functions // for it, but not for public consumption. By being private and returning as the // public interface, these can be kept private. -type manager struct { +type client struct { // User Identity Storage session storage.Session // Generic RNG for client @@ -87,17 +87,17 @@ type manager struct { maxMsgLen int } -// NewManager builds a new reception manager object using inputted key fields. -func NewManager(params Params, comms *client.Comms, session storage.Session, +// NewManager builds a new reception client object using inputted key fields. +func NewManager(params Params, comms *commClient.Comms, session storage.Session, ndf *ndf.NetworkDefinition, rng *fastRNG.StreamGenerator, - events event.Manager) (Manager, error) { + events event.Manager) (Client, error) { // Start network instance instance, err := commNetwork.NewInstance( comms.ProtoComms, ndf, nil, nil, commNetwork.None, params.FastPolling) if err != nil { return nil, errors.WithMessage( - err, "failed to create client network manager") + err, "failed to create network client") } tmpMsg := format.NewMessage(session.GetCmixGroup().GetP().ByteLen()) @@ -105,8 +105,8 @@ func NewManager(params Params, comms *client.Comms, session storage.Session, tracker := uint64(0) earliest := uint64(0) - // Create manager object - m := &manager{ + // Create client object + c := &client{ param: params, tracker: &tracker, Space: address.NewAddressSpace(), @@ -118,10 +118,10 @@ func NewManager(params Params, comms *client.Comms, session storage.Session, instance: instance, maxMsgLen: tmpMsg.ContentsSize(), } - m.UpdateAddressSpace(18) + c.UpdateAddressSpace(18) if params.VerboseRoundTracking { - m.verboseRounds = NewRoundTracker() + c.verboseRounds = NewRoundTracker() } /* Set up modules */ @@ -136,58 +136,58 @@ func NewManager(params Params, comms *client.Comms, session storage.Session, // Enable optimized HostPool initialization poolParams.MaxPings = 50 poolParams.ForceConnection = true - m.Sender, err = gateway.NewSender( + c.Sender, err = gateway.NewSender( poolParams, rng, ndf, comms, session, nodeChan) if err != nil { return nil, err } // Set up the node registrar - m.Registrar, err = nodes.LoadRegistrar( - session, m.Sender, m.comms, m.rng, nodeChan) + c.Registrar, err = nodes.LoadRegistrar( + session, c.Sender, c.comms, c.rng, nodeChan) if err != nil { return nil, err } // Set up the historical rounds handler - m.Retriever = historical.NewRetriever( - params.Historical, comms, m.Sender, events) + c.Retriever = historical.NewRetriever( + params.Historical, comms, c.Sender, events) // Set up Message Handler - m.Handler = message.NewHandler(params.Message, m.session.GetKV(), m.events, - m.session.GetReceptionID()) + c.Handler = message.NewHandler(params.Message, c.session.GetKV(), c.events, + c.session.GetReceptionID()) // Set up round handler - m.Pickup = rounds.NewPickup( - params.Rounds, m.Handler.GetMessageReceptionChannel(), m.Sender, - m.Retriever, m.rng, m.instance, m.session) + c.Pickup = rounds.NewPickup( + params.Rounds, c.Handler.GetMessageReceptionChannel(), c.Sender, + c.Retriever, c.rng, c.instance, c.session) // Add the identity system - m.Tracker = identity.NewOrLoadTracker(m.session, m.Space) + c.Tracker = identity.NewOrLoadTracker(c.session, c.Space) // Set up the ability to register with new nodes when they appear - m.instance.SetAddGatewayChan(nodeChan) + c.instance.SetAddGatewayChan(nodeChan) // Set up the health monitor - m.Monitor = health.Init(instance, params.NetworkHealthTimeout) + c.Monitor = health.Init(instance, params.NetworkHealthTimeout) // Set up critical message tracking (sendCmix only) critSender := func(msg format.Message, recipient *id.ID, params CMIXParams, ) (id.Round, ephemeral.Id, error) { - return sendCmixHelper(m.Sender, msg, recipient, params, m.instance, - m.session.GetCmixGroup(), m.Registrar, m.rng, m.events, - m.session.GetTransmissionID(), m.comms) + return sendCmixHelper(c.Sender, msg, recipient, params, c.instance, + c.session.GetCmixGroup(), c.Registrar, c.rng, c.events, + c.session.GetTransmissionID(), c.comms) } - m.crit = newCritical( - session.GetKV(), m.Monitor, m.instance.GetRoundEvents(), critSender) + c.crit = newCritical( + session.GetKV(), c.Monitor, c.instance.GetRoundEvents(), critSender) // Report health events - m.Monitor.AddHealthCallback(func(isHealthy bool) { - m.events.Report(5, "health", "IsHealthy", strconv.FormatBool(isHealthy)) + c.Monitor.AddHealthCallback(func(isHealthy bool) { + c.events.Report(5, "health", "IsHealthy", strconv.FormatBool(isHealthy)) }) - return m, nil + return c, nil } // Follow StartRunners kicks off all network reception goroutines ("threads"). @@ -200,58 +200,58 @@ func NewManager(params Params, comms *client.Comms, session storage.Session, // - Garbled Messages (/network/message/inProgress.go) // - Critical Messages (/network/message/critical.go) // - Ephemeral ID tracking (network/address/tracker.go) -func (m *manager) Follow(report ClientErrorReport) (stoppable.Stoppable, error) { +func (c *client) Follow(report ClientErrorReport) (stoppable.Stoppable, error) { multi := stoppable.NewMulti("networkManager") // health tracker - healthStop, err := m.Monitor.StartProcesses() + healthStop, err := c.Monitor.StartProcesses() if err != nil { return nil, errors.Errorf("failed to follow") } multi.Add(healthStop) // Node Updates - multi.Add(m.Registrar.StartProcesses(m.param.ParallelNodeRegistrations)) // Adding/MixCypher + multi.Add(c.Registrar.StartProcesses(c.param.ParallelNodeRegistrations)) // Adding/MixCypher // TODO: node remover // Start the Network tracker followNetworkStopper := stoppable.NewSingle("FollowNetwork") - go m.followNetwork(report, followNetworkStopper) + go c.followNetwork(report, followNetworkStopper) multi.Add(followNetworkStopper) // Message reception - multi.Add(m.Handler.StartProcesses()) + multi.Add(c.Handler.StartProcesses()) // Round processing - multi.Add(m.Pickup.StartProcessors()) + multi.Add(c.Pickup.StartProcessors()) // Historical rounds processing - multi.Add(m.Retriever.StartProcesses()) + multi.Add(c.Retriever.StartProcesses()) // Start the processes for the identity handler - multi.Add(m.Tracker.StartProcesses()) + multi.Add(c.Tracker.StartProcesses()) return multi, nil } // GetInstance returns the network instance object (NDF state). -func (m *manager) GetInstance() *commNetwork.Instance { - return m.instance +func (c *client) GetInstance() *commNetwork.Instance { + return c.instance } // GetVerboseRounds returns verbose round information. -func (m *manager) GetVerboseRounds() string { - if m.verboseRounds == nil { +func (c *client) GetVerboseRounds() string { + if c.verboseRounds == nil { return "Verbose Round tracking not enabled" } - return m.verboseRounds.String() + return c.verboseRounds.String() } -func (m *manager) SetFakeEarliestRound(rnd id.Round) { - atomic.StoreUint64(m.earliestRound, uint64(rnd)) +func (c *client) SetFakeEarliestRound(rnd id.Round) { + atomic.StoreUint64(c.earliestRound, uint64(rnd)) } // GetMaxMessageLength returns the maximum length of a cMix message. -func (m *manager) GetMaxMessageLength() int { - return m.maxMsgLen +func (c *client) GetMaxMessageLength() int { + return c.maxMsgLen } diff --git a/network/cmixMessageBuffer.go b/cmix/cmixMessageBuffer.go similarity index 99% rename from network/cmixMessageBuffer.go rename to cmix/cmixMessageBuffer.go index 0a916515b..54ba624ab 100644 --- a/network/cmixMessageBuffer.go +++ b/cmix/cmixMessageBuffer.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "encoding/json" diff --git a/network/cmixMessageBuffer_test.go b/cmix/cmixMessageBuffer_test.go similarity index 99% rename from network/cmixMessageBuffer_test.go rename to cmix/cmixMessageBuffer_test.go index b098518d2..162a69bac 100644 --- a/network/cmixMessageBuffer_test.go +++ b/cmix/cmixMessageBuffer_test.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "bytes" diff --git a/network/critical.go b/cmix/critical.go similarity index 96% rename from network/critical.go rename to cmix/critical.go index e834ae3f2..03ebfc7b5 100644 --- a/network/critical.go +++ b/cmix/critical.go @@ -1,8 +1,8 @@ -package network +package cmix import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/health" + "gitlab.com/elixxir/client/cmix/health" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage/versioned" ds "gitlab.com/elixxir/comms/network/dataStructures" @@ -24,7 +24,7 @@ type roundEventRegistrar interface { // criticalSender is an anonymous function that takes the data critical knows // for sending. It should call sendCmixHelper and use scope sharing in an -// anonymous function to include the structures from manager that critical is +// anonymous function to include the structures from client that critical is // not aware of. type criticalSender func(msg format.Message, recipient *id.ID, params CMIXParams) (id.Round, ephemeral.Id, error) diff --git a/network/critical_test.go b/cmix/critical_test.go similarity index 98% rename from network/critical_test.go rename to cmix/critical_test.go index ffef3d8d3..5f9973858 100644 --- a/network/critical_test.go +++ b/cmix/critical_test.go @@ -1,4 +1,4 @@ -package network +package cmix import ( "gitlab.com/elixxir/client/stoppable" diff --git a/network/follow.go b/cmix/follow.go similarity index 82% rename from network/follow.go rename to cmix/follow.go index 4353d9c53..5bafb3718 100644 --- a/network/follow.go +++ b/cmix/follow.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix // follow.go tracks the network for: // 1. The status of the network and its accessibility @@ -28,7 +28,7 @@ import ( "encoding/binary" "fmt" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/identity/receptionID/store" + "gitlab.com/elixxir/client/cmix/identity/receptionID/store" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/primitives/knownRounds" @@ -60,16 +60,16 @@ type followNetworkComms interface { // followNetwork polls the network to get updated on the state of nodes, the // round status, and informs the client when messages can be retrieved. -func (m *manager) followNetwork(report ClientErrorReport, +func (c *client) followNetwork(report ClientErrorReport, stop *stoppable.Single) { - ticker := time.NewTicker(m.param.TrackNetworkPeriod) + ticker := time.NewTicker(c.param.TrackNetworkPeriod) TrackTicker := time.NewTicker(debugTrackPeriod) - rng := m.rng.GetStream() + rng := c.rng.GetStream() abandon := func(round id.Round) { return } - if m.verboseRounds != nil { + if c.verboseRounds != nil { abandon = func(round id.Round) { - m.verboseRounds.denote(round, Abandoned) + c.verboseRounds.denote(round, Abandoned) } } @@ -80,40 +80,40 @@ func (m *manager) followNetwork(report ClientErrorReport, stop.ToStopped() return case <-ticker.C: - m.follow(report, rng, m.comms, stop, abandon) + c.follow(report, rng, c.comms, stop, abandon) case <-TrackTicker.C: - numPolls := atomic.SwapUint64(m.tracker, 0) - if m.numLatencies != 0 { + numPolls := atomic.SwapUint64(c.tracker, 0) + if c.numLatencies != 0 { latencyAvg := time.Nanosecond * time.Duration( - m.latencySum/m.numLatencies) - m.latencySum, m.numLatencies = 0, 0 + c.latencySum/c.numLatencies) + c.latencySum, c.numLatencies = 0, 0 infoMsg := fmt.Sprintf("Polled the network %d times in the "+ "last %s, with an average newest packet latency of %s", numPolls, debugTrackPeriod, latencyAvg) jww.INFO.Printf(infoMsg) - m.events.Report(1, "Polling", "MetricsWithLatency", infoMsg) + c.events.Report(1, "Polling", "MetricsWithLatency", infoMsg) } else { infoMsg := fmt.Sprintf( "Polled the network %d times in the last %s", numPolls, debugTrackPeriod) jww.INFO.Printf(infoMsg) - m.events.Report(1, "Polling", "Metrics", infoMsg) + c.events.Report(1, "Polling", "Metrics", infoMsg) } } } } // follow executes each iteration of the follower. -func (m *manager) follow(report ClientErrorReport, rng csprng.Source, +func (c *client) follow(report ClientErrorReport, rng csprng.Source, comms followNetworkComms, stop *stoppable.Single, abandon func(round id.Round)) { // Get the identity we will poll for - identity, err := m.GetEphemeralIdentity( - rng, m.Space.GetAddressSpaceWithoutWait()) + identity, err := c.GetEphemeralIdentity( + rng, c.Space.GetAddressSpaceWithoutWait()) if err != nil { jww.FATAL.Panicf( "Failed to get an identity, this should be impossible: %+v", err) @@ -124,30 +124,30 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, // to be randomly generated rather than based on actual state. if identity.Fake { fakeEr := &store.EarliestRound{} - fakeEr.Set(m.getFakeEarliestRound()) + fakeEr.Set(c.getFakeEarliestRound()) identity.ER = fakeEr } - atomic.AddUint64(m.tracker, 1) + atomic.AddUint64(c.tracker, 1) // Get client version for poll - version := m.session.GetClientVersion() + version := c.session.GetClientVersion() // Poll network updates pollReq := pb.GatewayPoll{ Partial: &pb.NDFHash{ - Hash: m.instance.GetPartialNdf().GetHash(), + Hash: c.instance.GetPartialNdf().GetHash(), }, - LastUpdate: uint64(m.instance.GetLastUpdateID()), + LastUpdate: uint64(c.instance.GetLastUpdateID()), ReceptionID: identity.EphId[:], StartTimestamp: identity.StartValid.UnixNano(), EndTimestamp: identity.EndValid.UnixNano(), ClientVersion: []byte(version.String()), - FastPolling: m.param.FastPolling, + FastPolling: c.param.FastPolling, LastRound: uint64(identity.ER.Get()), } - result, err := m.SendToAny(func(host *connect.Host) (interface{}, error) { + result, err := c.SendToAny(func(host *connect.Host) (interface{}, error) { jww.DEBUG.Printf("Executing poll for %v(%s) range: %s-%s(%s) from %s", identity.EphId.Int64(), identity.Source, identity.StartValid, identity.EndValid, identity.EndValid.Sub(identity.StartValid), @@ -172,7 +172,7 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, ) } errMsg := fmt.Sprintf("Unable to poll gateway: %+v", err) - m.events.Report(10, "Polling", "Error", errMsg) + c.events.Report(10, "Polling", "Error", errMsg) jww.ERROR.Print(errMsg) return } @@ -191,20 +191,20 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, // NOTE: this updates the structure, AND sends events over the nodes update // channels about new and removed nodes if pollResp.PartialNDF != nil { - err = m.instance.UpdatePartialNdf(pollResp.PartialNDF) + err = c.instance.UpdatePartialNdf(pollResp.PartialNDF) if err != nil { jww.ERROR.Printf("Unable to update partial NDF: %+v", err) return } // update gateway connections - m.UpdateNdf(m.GetInstance().GetPartialNdf().Get()) - m.session.SetNDF(m.GetInstance().GetPartialNdf().Get()) + c.UpdateNdf(c.GetInstance().GetPartialNdf().Get()) + c.session.SetNDF(c.GetInstance().GetPartialNdf().Get()) } // Update the address space size - if len(m.instance.GetPartialNdf().Get().AddressSpace) != 0 { - m.UpdateAddressSpace(m.instance.GetPartialNdf().Get().AddressSpace[0].Size) + if len(c.instance.GetPartialNdf().Get().AddressSpace) != 0 { + c.UpdateAddressSpace(c.instance.GetPartialNdf().Get().AddressSpace[0].Size) } // NOTE: this updates rounds and updates the tracking of the health of the @@ -220,7 +220,7 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, continue } - marshaledTid := m.session.GetTransmissionID().Marshal() + marshaledTid := c.session.GetTransmissionID().Marshal() for _, clientErr := range update.ClientErrors { // If this Client appears in the ClientError if bytes.Equal(clientErr.ClientId, marshaledTid) { @@ -239,14 +239,14 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, update.State = uint32(states.FAILED) // trigger a reregistration with the node - m.Registrar.TriggerNodeRegistration(nid) + c.Registrar.TriggerNodeRegistration(nid) } } } // Trigger RoundEvents for all polled updates, including modified rounds // with ClientErrors - err = m.instance.RoundUpdates(pollResp.Updates) + err = c.instance.RoundUpdates(pollResp.Updates) if err != nil { jww.ERROR.Printf("%+v", err) return @@ -263,8 +263,8 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, if newest.After(now) { deltaDur := newest.Sub(now) - m.latencySum = uint64(deltaDur) - m.numLatencies++ + c.latencySum = uint64(deltaDur) + c.numLatencies++ } } @@ -294,8 +294,8 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, // handling threads roundChecker := func(rid id.Round) bool { hasMessage := Checker(rid, filterList, identity.CR) - if !hasMessage && m.verboseRounds != nil { - m.verboseRounds.denote(rid, RoundState(NoMessageAvailable)) + if !hasMessage && c.verboseRounds != nil { + c.verboseRounds.denote(rid, RoundState(NoMessageAvailable)) } return hasMessage } @@ -303,7 +303,7 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, // Move the earliest unknown round tracker forward to the earliest tracked // round if it is behind earliestTrackedRound := id.Round(pollResp.EarliestRound) - m.SetFakeEarliestRound(earliestTrackedRound) + c.SetFakeEarliestRound(earliestTrackedRound) updatedEarliestRound, old, _ := identity.ER.Set(earliestTrackedRound) // If there was no registered rounds for the identity @@ -315,8 +315,8 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, timeSinceStartValid := netTime.Now().Sub(identity.StartValid) roundsDelta := uint(timeSinceStartValid / time.Second * estimatedRoundsPerSecond) - if roundsDelta < m.param.KnownRoundsThreshold { - roundsDelta = m.param.KnownRoundsThreshold + if roundsDelta < c.param.KnownRoundsThreshold { + roundsDelta = c.param.KnownRoundsThreshold } if id.Round(roundsDelta) > lastCheckedRound { @@ -345,13 +345,13 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, // remaining earliestRemaining, roundsWithMessages, roundsUnknown := gwRoundsState.RangeUnchecked( - updatedEarliestRound, m.param.KnownRoundsThreshold, roundChecker) + updatedEarliestRound, c.param.KnownRoundsThreshold, roundChecker) jww.DEBUG.Printf("Processed RangeUnchecked, Oldest: %d, "+ "firstUnchecked: %d, last Checked: %d, threshold: %d, "+ "NewEarliestRemaining: %d, NumWithMessages: %d, NumUnknown: %d", updatedEarliestRound, gwRoundsState.GetFirstUnchecked(), - gwRoundsState.GetLastChecked(), m.param.KnownRoundsThreshold, + gwRoundsState.GetLastChecked(), c.param.KnownRoundsThreshold, earliestRemaining, len(roundsWithMessages), len(roundsUnknown)) _, _, changed := identity.ER.Set(earliestRemaining) @@ -364,7 +364,7 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, var roundsWithMessages2 []id.Round - if !m.param.RealtimeOnly { + if !c.param.RealtimeOnly { roundsWithMessages2 = identity.UR.Iterate(func(rid id.Round) bool { if gwRoundsState.Checked(rid) { return Checker(rid, filterList, identity.CR) @@ -376,7 +376,7 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, for _, rid := range roundsWithMessages { // Denote that the round has been looked at in the tracking store if identity.CR.Check(rid) { - m.GetMessagesFromRound(rid, identity.EphemeralIdentity) + c.GetMessagesFromRound(rid, identity.EphemeralIdentity) } } @@ -388,13 +388,13 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, } for _, rid := range roundsWithMessages2 { - m.GetMessagesFromRound(rid, identity.EphemeralIdentity) + c.GetMessagesFromRound(rid, identity.EphemeralIdentity) } - if m.verboseRounds != nil { + if c.verboseRounds != nil { trackingStart := updatedEarliestRound - if uint(earliestRemaining-updatedEarliestRound) > m.param.KnownRoundsThreshold { - trackingStart = earliestRemaining - id.Round(m.param.KnownRoundsThreshold) + if uint(earliestRemaining-updatedEarliestRound) > c.param.KnownRoundsThreshold { + trackingStart = earliestRemaining - id.Round(c.param.KnownRoundsThreshold) } jww.DEBUG.Printf("Rounds tracked: %v to %v", trackingStart, earliestRemaining) @@ -416,14 +416,14 @@ func (m *manager) follow(report ClientErrorReport, rng csprng.Source, state = Unknown } } - m.verboseRounds.denote(i, RoundState(state)) + c.verboseRounds.denote(i, RoundState(state)) } } } // getFakeEarliestRound generates a random earliest round for a fake identity. -func (m *manager) getFakeEarliestRound() id.Round { +func (c *client) getFakeEarliestRound() id.Round { b, err := csprng.Generate(8, rand.Reader) if err != nil { jww.FATAL.Panicf("Could not get random number: %+v", err) @@ -431,7 +431,7 @@ func (m *manager) getFakeEarliestRound() id.Round { rangeVal := binary.LittleEndian.Uint64(b) % 800 - earliestKnown := atomic.LoadUint64(m.earliestRound) + earliestKnown := atomic.LoadUint64(c.earliestRound) return id.Round(earliestKnown - rangeVal) } diff --git a/network/follow_test.go b/cmix/follow_test.go similarity index 84% rename from network/follow_test.go rename to cmix/follow_test.go index d79f9e093..fbe7a8da3 100644 --- a/network/follow_test.go +++ b/cmix/follow_test.go @@ -1,9 +1,9 @@ -package network +package cmix //func TestManager_Follow(t *testing.T) { // m, err := newTestManager(t) // if err != nil { -// t.Fatalf("Failed to create test manager: %+v", err) +// t.Fatalf("Failed to create test client: %+v", err) // } // // clientErrorReport := func(source, message, trace string) { diff --git a/network/gateway/hostPool.go b/cmix/gateway/hostPool.go similarity index 100% rename from network/gateway/hostPool.go rename to cmix/gateway/hostPool.go diff --git a/network/gateway/hostpool_test.go b/cmix/gateway/hostpool_test.go similarity index 100% rename from network/gateway/hostpool_test.go rename to cmix/gateway/hostpool_test.go diff --git a/network/gateway/sender.go b/cmix/gateway/sender.go similarity index 100% rename from network/gateway/sender.go rename to cmix/gateway/sender.go diff --git a/network/gateway/sender_test.go b/cmix/gateway/sender_test.go similarity index 100% rename from network/gateway/sender_test.go rename to cmix/gateway/sender_test.go diff --git a/network/gateway/storeHostList.go b/cmix/gateway/storeHostList.go similarity index 100% rename from network/gateway/storeHostList.go rename to cmix/gateway/storeHostList.go diff --git a/network/gateway/storeHostList_test.go b/cmix/gateway/storeHostList_test.go similarity index 100% rename from network/gateway/storeHostList_test.go rename to cmix/gateway/storeHostList_test.go diff --git a/network/gateway/utils_test.go b/cmix/gateway/utils_test.go similarity index 100% rename from network/gateway/utils_test.go rename to cmix/gateway/utils_test.go diff --git a/network/health/tracker.go b/cmix/health/tracker.go similarity index 100% rename from network/health/tracker.go rename to cmix/health/tracker.go diff --git a/network/health/tracker_test.go b/cmix/health/tracker_test.go similarity index 100% rename from network/health/tracker_test.go rename to cmix/health/tracker_test.go diff --git a/network/historical/historical.go b/cmix/historical/historical.go similarity index 99% rename from network/historical/historical.go rename to cmix/historical/historical.go index f21a5e711..5e5c4faef 100644 --- a/network/historical/historical.go +++ b/cmix/historical/historical.go @@ -13,8 +13,8 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/xx_network/comms/connect" diff --git a/network/historical/historical_test.go b/cmix/historical/historical_test.go similarity index 99% rename from network/historical/historical_test.go rename to cmix/historical/historical_test.go index af3ef9d9d..250c66ab6 100644 --- a/network/historical/historical_test.go +++ b/cmix/historical/historical_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - "gitlab.com/elixxir/client/network/gateway" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/xx_network/comms/connect" diff --git a/network/historical/params.go b/cmix/historical/params.go similarity index 100% rename from network/historical/params.go rename to cmix/historical/params.go diff --git a/network/historical/round.go b/cmix/historical/round.go similarity index 100% rename from network/historical/round.go rename to cmix/historical/round.go diff --git a/network/identity/receptionID/IdentityUse.go b/cmix/identity/receptionID/IdentityUse.go similarity index 92% rename from network/identity/receptionID/IdentityUse.go rename to cmix/identity/receptionID/IdentityUse.go index e97a25538..7255a65fa 100644 --- a/network/identity/receptionID/IdentityUse.go +++ b/cmix/identity/receptionID/IdentityUse.go @@ -2,7 +2,7 @@ package receptionID import ( "fmt" - "gitlab.com/elixxir/client/network/identity/receptionID/store" + "gitlab.com/elixxir/client/cmix/identity/receptionID/store" "strconv" "strings" ) diff --git a/network/identity/receptionID/fake.go b/cmix/identity/receptionID/fake.go similarity index 100% rename from network/identity/receptionID/fake.go rename to cmix/identity/receptionID/fake.go diff --git a/network/identity/receptionID/fake_test.go b/cmix/identity/receptionID/fake_test.go similarity index 100% rename from network/identity/receptionID/fake_test.go rename to cmix/identity/receptionID/fake_test.go diff --git a/network/identity/receptionID/identity.go b/cmix/identity/receptionID/identity.go similarity index 100% rename from network/identity/receptionID/identity.go rename to cmix/identity/receptionID/identity.go diff --git a/network/identity/receptionID/identity_test.go b/cmix/identity/receptionID/identity_test.go similarity index 100% rename from network/identity/receptionID/identity_test.go rename to cmix/identity/receptionID/identity_test.go diff --git a/network/identity/receptionID/registration.go b/cmix/identity/receptionID/registration.go similarity index 97% rename from network/identity/receptionID/registration.go rename to cmix/identity/receptionID/registration.go index 71be6903f..2655eee3a 100644 --- a/network/identity/receptionID/registration.go +++ b/cmix/identity/receptionID/registration.go @@ -3,7 +3,7 @@ package receptionID import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/identity/receptionID/store" + "gitlab.com/elixxir/client/cmix/identity/receptionID/store" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" diff --git a/network/identity/receptionID/registration_test.go b/cmix/identity/receptionID/registration_test.go similarity index 100% rename from network/identity/receptionID/registration_test.go rename to cmix/identity/receptionID/registration_test.go diff --git a/network/identity/receptionID/store.go b/cmix/identity/receptionID/store.go similarity index 100% rename from network/identity/receptionID/store.go rename to cmix/identity/receptionID/store.go diff --git a/network/identity/receptionID/store/checkedRounds.go b/cmix/identity/receptionID/store/checkedRounds.go similarity index 100% rename from network/identity/receptionID/store/checkedRounds.go rename to cmix/identity/receptionID/store/checkedRounds.go diff --git a/network/identity/receptionID/store/checkedRounds_test.go b/cmix/identity/receptionID/store/checkedRounds_test.go similarity index 100% rename from network/identity/receptionID/store/checkedRounds_test.go rename to cmix/identity/receptionID/store/checkedRounds_test.go diff --git a/network/identity/receptionID/store/earliestRound.go b/cmix/identity/receptionID/store/earliestRound.go similarity index 100% rename from network/identity/receptionID/store/earliestRound.go rename to cmix/identity/receptionID/store/earliestRound.go diff --git a/network/identity/receptionID/store/unknownRounds.go b/cmix/identity/receptionID/store/unknownRounds.go similarity index 100% rename from network/identity/receptionID/store/unknownRounds.go rename to cmix/identity/receptionID/store/unknownRounds.go diff --git a/network/identity/receptionID/store/unknownRounds_test.go b/cmix/identity/receptionID/store/unknownRounds_test.go similarity index 100% rename from network/identity/receptionID/store/unknownRounds_test.go rename to cmix/identity/receptionID/store/unknownRounds_test.go diff --git a/network/identity/receptionID/store_test.go b/cmix/identity/receptionID/store_test.go similarity index 100% rename from network/identity/receptionID/store_test.go rename to cmix/identity/receptionID/store_test.go diff --git a/network/identity/tracker.go b/cmix/identity/tracker.go similarity index 99% rename from network/identity/tracker.go rename to cmix/identity/tracker.go index 9f3eecebd..93cde203c 100644 --- a/network/identity/tracker.go +++ b/cmix/identity/tracker.go @@ -17,8 +17,8 @@ import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/address" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/address" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/storage/versioned" diff --git a/network/interface.go b/cmix/interface.go similarity index 95% rename from network/interface.go rename to cmix/interface.go index b68b0ccc7..d008d4398 100644 --- a/network/interface.go +++ b/cmix/interface.go @@ -1,11 +1,11 @@ -package network +package cmix import ( - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/nodes" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/nodes" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/primitives/format" @@ -15,7 +15,7 @@ import ( "time" ) -type Manager interface { +type Client interface { // 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. @@ -27,7 +27,7 @@ type Manager interface { // GetMaxMessageLength returns the max message size for the current network. GetMaxMessageLength() int - // SendCMIX sends a "raw" cMix message payload to the provided recipient. + // Send sends a "raw" cMix message payload to the provided recipient. // Returns the round ID of the round the payload was sent or an error if it // fails. // This does not have end-to-end encryption on it and is used exclusively as @@ -48,11 +48,11 @@ type Manager interface { // Will return an error if the network is unhealthy or if it fails to send // (along with the reason). Blocks until successful sends or errors. // WARNING: Do not roll your own crypto. - SendCMIX(recipient *id.ID, fingerprint format.Fingerprint, + Send(recipient *id.ID, fingerprint format.Fingerprint, service message.Service, payload, mac []byte, cmixParams CMIXParams) ( id.Round, ephemeral.Id, error) - // SendManyCMIX sends many "raw" cMix message payloads to the provided + // SendMany sends many "raw" cMix message payloads to the provided // recipients all in the same round. // Returns the round ID of the round the payloads was sent or an error if it // fails. @@ -76,7 +76,7 @@ type Manager interface { // Will return an error if the network is unhealthy or if it fails to send // (along with the reason). Blocks until successful send or err. // WARNING: Do not roll your own crypto. - SendManyCMIX(messages []TargetedCmixMessage, p CMIXParams) ( + SendMany(messages []TargetedCmixMessage, p CMIXParams) ( id.Round, []ephemeral.Id, error) /* === Message Reception ================================================ */ @@ -205,7 +205,7 @@ type Manager interface { /* === Nodes ============================================================ */ /* Keys must be registered with nodes in order to send messages through them. This process is, in general, automatically handled by the Network - Manager. */ + Client. */ // HasNode can be used to determine if a keying relationship exists with a // node. @@ -222,7 +222,7 @@ type Manager interface { /* === Rounds =========================================================== */ /* A complete set of round info is not kept on the client, and sometimes the network will need to be queried to get round info. Historical rounds - is the system internal to the Network Manager to do this. It can be used + is the system internal to the Network Client to do this. It can be used externally as well. */ // GetRoundResults adjudicates on the rounds requested. Checks if they are diff --git a/network/message/bundle.go b/cmix/message/bundle.go similarity index 87% rename from network/message/bundle.go rename to cmix/message/bundle.go index 13b1a619a..2dd4a582d 100644 --- a/network/message/bundle.go +++ b/cmix/message/bundle.go @@ -8,8 +8,8 @@ package message import ( - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" ) diff --git a/network/message/fingerprints.go b/cmix/message/fingerprints.go similarity index 100% rename from network/message/fingerprints.go rename to cmix/message/fingerprints.go diff --git a/network/message/fingerprints_test.go b/cmix/message/fingerprints_test.go similarity index 98% rename from network/message/fingerprints_test.go rename to cmix/message/fingerprints_test.go index 2be40a1f3..46407a1b0 100644 --- a/network/message/fingerprints_test.go +++ b/cmix/message/fingerprints_test.go @@ -9,8 +9,8 @@ package message import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" "reflect" diff --git a/network/message/handler.go b/cmix/message/handler.go similarity index 100% rename from network/message/handler.go rename to cmix/message/handler.go diff --git a/network/message/inProgress.go b/cmix/message/inProgress.go similarity index 98% rename from network/message/inProgress.go rename to cmix/message/inProgress.go index 8f12e8e1d..c21ef6f64 100644 --- a/network/message/inProgress.go +++ b/cmix/message/inProgress.go @@ -9,7 +9,7 @@ package message import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/historical" + "gitlab.com/elixxir/client/cmix/historical" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" diff --git a/network/message/inProgress_test.go b/cmix/message/inProgress_test.go similarity index 96% rename from network/message/inProgress_test.go rename to cmix/message/inProgress_test.go index 919090cee..bca0c64bf 100644 --- a/network/message/inProgress_test.go +++ b/cmix/message/inProgress_test.go @@ -2,7 +2,7 @@ package message import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage/versioned" pb "gitlab.com/elixxir/comms/mixmessages" diff --git a/network/message/meteredCmixMessageBuffer.go b/cmix/message/meteredCmixMessageBuffer.go similarity index 99% rename from network/message/meteredCmixMessageBuffer.go rename to cmix/message/meteredCmixMessageBuffer.go index 8bcecabef..3b4383810 100644 --- a/network/message/meteredCmixMessageBuffer.go +++ b/cmix/message/meteredCmixMessageBuffer.go @@ -11,7 +11,7 @@ import ( "encoding/json" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" pb "gitlab.com/elixxir/comms/mixmessages" diff --git a/network/message/meteredCmixMessageBuffer_test.go b/cmix/message/meteredCmixMessageBuffer_test.go similarity index 99% rename from network/message/meteredCmixMessageBuffer_test.go rename to cmix/message/meteredCmixMessageBuffer_test.go index 3260db33d..6fed4e9e8 100644 --- a/network/message/meteredCmixMessageBuffer_test.go +++ b/cmix/message/meteredCmixMessageBuffer_test.go @@ -10,7 +10,7 @@ package message import ( "bytes" "encoding/json" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" pb "gitlab.com/elixxir/comms/mixmessages" diff --git a/network/message/params.go b/cmix/message/params.go similarity index 100% rename from network/message/params.go rename to cmix/message/params.go diff --git a/network/message/pickup.go b/cmix/message/pickup.go similarity index 100% rename from network/message/pickup.go rename to cmix/message/pickup.go diff --git a/network/message/processor.go b/cmix/message/processor.go similarity index 85% rename from network/message/processor.go rename to cmix/message/processor.go index 1e316fb16..8df34ae5a 100644 --- a/network/message/processor.go +++ b/cmix/message/processor.go @@ -1,8 +1,8 @@ package message import ( - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/primitives/format" ) diff --git a/network/message/serviceGenerators.go b/cmix/message/serviceGenerators.go similarity index 100% rename from network/message/serviceGenerators.go rename to cmix/message/serviceGenerators.go diff --git a/network/message/serviceInterface.go b/cmix/message/serviceInterface.go similarity index 100% rename from network/message/serviceInterface.go rename to cmix/message/serviceInterface.go diff --git a/network/message/serviceTracker.go b/cmix/message/serviceTracker.go similarity index 100% rename from network/message/serviceTracker.go rename to cmix/message/serviceTracker.go diff --git a/network/message/services.go b/cmix/message/services.go similarity index 100% rename from network/message/services.go rename to cmix/message/services.go diff --git a/network/nodes/mixCypher.go b/cmix/nodes/mixCypher.go similarity index 100% rename from network/nodes/mixCypher.go rename to cmix/nodes/mixCypher.go diff --git a/network/nodes/mixCypher_test.go b/cmix/nodes/mixCypher_test.go similarity index 100% rename from network/nodes/mixCypher_test.go rename to cmix/nodes/mixCypher_test.go diff --git a/network/nodes/register.go b/cmix/nodes/register.go similarity index 99% rename from network/nodes/register.go rename to cmix/nodes/register.go index e0d38e580..9cd4502f0 100644 --- a/network/nodes/register.go +++ b/cmix/nodes/register.go @@ -13,7 +13,7 @@ import ( "github.com/golang/protobuf/proto" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/gateway" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" pb "gitlab.com/elixxir/comms/mixmessages" diff --git a/network/nodes/register_test.go b/cmix/nodes/register_test.go similarity index 100% rename from network/nodes/register_test.go rename to cmix/nodes/register_test.go diff --git a/network/nodes/registrar.go b/cmix/nodes/registrar.go similarity index 98% rename from network/nodes/registrar.go rename to cmix/nodes/registrar.go index 6af74986c..460aaab23 100644 --- a/network/nodes/registrar.go +++ b/cmix/nodes/registrar.go @@ -3,7 +3,7 @@ package nodes import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/gateway" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/storage/versioned" diff --git a/network/nodes/registrar_test.go b/cmix/nodes/registrar_test.go similarity index 99% rename from network/nodes/registrar_test.go rename to cmix/nodes/registrar_test.go index c0712c528..2c006a9b1 100644 --- a/network/nodes/registrar_test.go +++ b/cmix/nodes/registrar_test.go @@ -9,7 +9,7 @@ package nodes import ( "bytes" - "gitlab.com/elixxir/client/network/gateway" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/storage" commNetwork "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/cyclic" diff --git a/network/nodes/store.go b/cmix/nodes/store.go similarity index 100% rename from network/nodes/store.go rename to cmix/nodes/store.go diff --git a/network/nodes/storeKey.go b/cmix/nodes/storeKey.go similarity index 100% rename from network/nodes/storeKey.go rename to cmix/nodes/storeKey.go diff --git a/network/nodes/store_test.go b/cmix/nodes/store_test.go similarity index 100% rename from network/nodes/store_test.go rename to cmix/nodes/store_test.go diff --git a/network/nodes/utils_test.go b/cmix/nodes/utils_test.go similarity index 99% rename from network/nodes/utils_test.go rename to cmix/nodes/utils_test.go index f46646357..aeaae339f 100644 --- a/network/nodes/utils_test.go +++ b/cmix/nodes/utils_test.go @@ -8,7 +8,7 @@ package nodes import ( - "gitlab.com/elixxir/client/network/gateway" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/storage" pb "gitlab.com/elixxir/comms/mixmessages" commNetwork "gitlab.com/elixxir/comms/network" diff --git a/network/params.go b/cmix/params.go similarity index 97% rename from network/params.go rename to cmix/params.go index a4c4fa45e..4d61bca66 100644 --- a/network/params.go +++ b/cmix/params.go @@ -1,11 +1,11 @@ -package network +package cmix import ( "encoding/base64" "encoding/json" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/rounds" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/rounds" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/primitives/excludedRounds" "gitlab.com/xx_network/primitives/id" diff --git a/network/params_test.go b/cmix/params_test.go similarity index 99% rename from network/params_test.go rename to cmix/params_test.go index c23f4e544..bb19499b3 100644 --- a/network/params_test.go +++ b/cmix/params_test.go @@ -5,7 +5,7 @@ // LICENSE file // //////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "encoding/json" diff --git a/network/polltracker.go b/cmix/polltracker.go similarity index 98% rename from network/polltracker.go rename to cmix/polltracker.go index 63bc03c90..835a820c5 100644 --- a/network/polltracker.go +++ b/cmix/polltracker.go @@ -1,4 +1,4 @@ -package network +package cmix import ( "fmt" diff --git a/network/remoteFilters.go b/cmix/remoteFilters.go similarity index 98% rename from network/remoteFilters.go rename to cmix/remoteFilters.go index dd01c09e8..45afbd1a3 100644 --- a/network/remoteFilters.go +++ b/cmix/remoteFilters.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( jww "github.com/spf13/jwalterweatherman" diff --git a/network/remoteFilters_test.go b/cmix/remoteFilters_test.go similarity index 99% rename from network/remoteFilters_test.go rename to cmix/remoteFilters_test.go index bf7c52c77..b33daa8b4 100644 --- a/network/remoteFilters_test.go +++ b/cmix/remoteFilters_test.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( jww "github.com/spf13/jwalterweatherman" diff --git a/network/results.go b/cmix/results.go similarity index 95% rename from network/results.go rename to cmix/results.go index 782532c3f..45f09279d 100644 --- a/network/results.go +++ b/cmix/results.go @@ -5,11 +5,11 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "fmt" - "gitlab.com/elixxir/client/network/historical" + "gitlab.com/elixxir/client/cmix/historical" "time" jww "github.com/spf13/jwalterweatherman" @@ -64,22 +64,22 @@ type RoundEventCallback func(allRoundsSucceeded, timedOut bool, rounds map[id.Ro // GetRoundResults adjudicates on the rounds requested. Checks if they are // older rounds or in progress rounds. -func (m *manager) GetRoundResults(timeout time.Duration, +func (c *client) GetRoundResults(timeout time.Duration, roundCallback RoundEventCallback, roundList ...id.Round) error { jww.INFO.Printf("GetRoundResults(%v, %s)", roundList, timeout) sendResults := make(chan ds.EventReturn, len(roundList)) - return m.getRoundResults(roundList, timeout, roundCallback, + return c.getRoundResults(roundList, timeout, roundCallback, sendResults) } // Helper function which does all the logic for GetRoundResults -func (m *manager) getRoundResults(roundList []id.Round, timeout time.Duration, +func (c *client) getRoundResults(roundList []id.Round, timeout time.Duration, roundCallback RoundEventCallback, sendResults chan ds.EventReturn) error { - networkInstance := m.GetInstance() + networkInstance := c.GetInstance() // Generate a message to track all older rounds historicalRequest := make([]id.Round, 0, len(roundList)) @@ -151,7 +151,7 @@ func (m *manager) getRoundResults(roundList []id.Round, timeout time.Duration, Round: round, } } - err := m.Retriever.LookupHistoricalRound(rnd, rrc) + err := c.Retriever.LookupHistoricalRound(rnd, rrc) if err != nil { historicalRoundsCh <- RoundResult{ Status: TimeOut, diff --git a/network/results_test.go b/cmix/results_test.go similarity index 97% rename from network/results_test.go rename to cmix/results_test.go index b2b8b912f..f8c5986cb 100644 --- a/network/results_test.go +++ b/cmix/results_test.go @@ -4,7 +4,7 @@ // Use of this source code is governed by a license that can be found in the // // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( pb "gitlab.com/elixxir/comms/mixmessages" @@ -113,7 +113,7 @@ func TestClient_GetRoundResults_FailedRounds(t *testing.T) { } - // Create a new copy of the test manager for this test + // Create a new copy of the test client for this test m, err := newTestManager(t) if err != nil { t.Fatalf("Failed in setup: %v", err) @@ -178,7 +178,7 @@ func TestClient_GetRoundResults_HistoricalRounds(t *testing.T) { } } - // Create a new copy of the test manager for this test + // Create a new copy of the test client for this test m, err := newTestManager(t) if err != nil { t.Fatalf("Failed in setup: %v", err) @@ -222,7 +222,7 @@ func TestClient_GetRoundResults_Timeout(t *testing.T) { var sendResults chan ds.EventReturn sendResults = nil - // Create a new copy of the test manager for this test + // Create a new copy of the test client for this test m, err := newTestManager(t) if err != nil { t.Fatalf("Failed in setup: %v", err) diff --git a/network/roundTracking.go b/cmix/roundTracking.go similarity index 99% rename from network/roundTracking.go rename to cmix/roundTracking.go index 2d1324e94..534324d27 100644 --- a/network/roundTracking.go +++ b/cmix/roundTracking.go @@ -9,7 +9,7 @@ // accumulate all rounds and then dump on exit. Is only enabled when run through // the command line interface unless enabled explicitly in code. -package network +package cmix import ( "fmt" diff --git a/network/rounds/get.go b/cmix/rounds/get.go similarity index 95% rename from network/rounds/get.go rename to cmix/rounds/get.go index 2954bb69e..774d64fc0 100644 --- a/network/rounds/get.go +++ b/cmix/rounds/get.go @@ -9,8 +9,8 @@ package rounds import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/xx_network/primitives/id" ) diff --git a/network/rounds/manager.go b/cmix/rounds/manager.go similarity index 90% rename from network/rounds/manager.go rename to cmix/rounds/manager.go index de4c952bb..46e53d5e7 100644 --- a/network/rounds/manager.go +++ b/cmix/rounds/manager.go @@ -8,11 +8,11 @@ package rounds import ( - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/rounds/store" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/rounds/store" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/crypto/fastRNG" diff --git a/network/rounds/params.go b/cmix/rounds/params.go similarity index 100% rename from network/rounds/params.go rename to cmix/rounds/params.go diff --git a/network/rounds/retrieve.go b/cmix/rounds/retrieve.go similarity index 97% rename from network/rounds/retrieve.go rename to cmix/rounds/retrieve.go index 6521a8abd..b3c8e1823 100644 --- a/network/rounds/retrieve.go +++ b/cmix/rounds/retrieve.go @@ -11,10 +11,10 @@ import ( "encoding/binary" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" - "gitlab.com/elixxir/client/network/message" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/crypto/shuffle" diff --git a/network/rounds/retrieve_test.go b/cmix/rounds/retrieve_test.go similarity index 98% rename from network/rounds/retrieve_test.go rename to cmix/rounds/retrieve_test.go index c303d71c4..2a1c940c9 100644 --- a/network/rounds/retrieve_test.go +++ b/cmix/rounds/retrieve_test.go @@ -8,10 +8,10 @@ package rounds import ( "bytes" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/historical" - ephemeral2 "gitlab.com/elixxir/client/network/identity/receptionID" - "gitlab.com/elixxir/client/network/message" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/historical" + ephemeral2 "gitlab.com/elixxir/client/cmix/identity/receptionID" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/crypto/fastRNG" "gitlab.com/xx_network/comms/connect" diff --git a/network/rounds/roundGetter.go b/cmix/rounds/roundGetter.go similarity index 100% rename from network/rounds/roundGetter.go rename to cmix/rounds/roundGetter.go diff --git a/network/rounds/store/roundIdentity.go b/cmix/rounds/store/roundIdentity.go similarity index 100% rename from network/rounds/store/roundIdentity.go rename to cmix/rounds/store/roundIdentity.go diff --git a/network/rounds/store/store.go b/cmix/rounds/store/store.go similarity index 100% rename from network/rounds/store/store.go rename to cmix/rounds/store/store.go diff --git a/network/rounds/store/uncheckedRounds.go b/cmix/rounds/store/uncheckedRounds.go similarity index 100% rename from network/rounds/store/uncheckedRounds.go rename to cmix/rounds/store/uncheckedRounds.go diff --git a/network/rounds/store/uncheckedRounds_test.go b/cmix/rounds/store/uncheckedRounds_test.go similarity index 100% rename from network/rounds/store/uncheckedRounds_test.go rename to cmix/rounds/store/uncheckedRounds_test.go diff --git a/network/rounds/unchecked.go b/cmix/rounds/unchecked.go similarity index 96% rename from network/rounds/unchecked.go rename to cmix/rounds/unchecked.go index 61ec17e77..15859e57f 100644 --- a/network/rounds/unchecked.go +++ b/cmix/rounds/unchecked.go @@ -9,8 +9,8 @@ package rounds import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/identity/receptionID" - "gitlab.com/elixxir/client/network/rounds/store" + "gitlab.com/elixxir/client/cmix/identity/receptionID" + "gitlab.com/elixxir/client/cmix/rounds/store" "gitlab.com/elixxir/client/stoppable" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/netTime" diff --git a/network/rounds/unchecked_test.go b/cmix/rounds/unchecked_test.go similarity index 97% rename from network/rounds/unchecked_test.go rename to cmix/rounds/unchecked_test.go index 3f609ad00..213952c8d 100644 --- a/network/rounds/unchecked_test.go +++ b/cmix/rounds/unchecked_test.go @@ -8,8 +8,8 @@ package rounds import ( - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/message" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/crypto/fastRNG" diff --git a/network/rounds/utils_test.go b/cmix/rounds/utils_test.go similarity index 98% rename from network/rounds/utils_test.go rename to cmix/rounds/utils_test.go index 08995ff1c..f74306728 100644 --- a/network/rounds/utils_test.go +++ b/cmix/rounds/utils_test.go @@ -9,8 +9,8 @@ package rounds import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/rounds/store" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/rounds/store" "gitlab.com/elixxir/client/storage" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/comms/testkeys" diff --git a/network/sendCmix.go b/cmix/sendCmix.go similarity index 81% rename from network/sendCmix.go rename to cmix/sendCmix.go index 382f55fbd..409ac2dfb 100644 --- a/network/sendCmix.go +++ b/cmix/sendCmix.go @@ -5,16 +5,16 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "fmt" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/nodes" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/nodes" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/comms/network" @@ -53,37 +53,37 @@ import ( // Will return an error if the network is unhealthy or if it fails to send // (along with the reason). Blocks until successful sends or errors. // WARNING: Do not roll your own crypto. -func (m *manager) SendCMIX(recipient *id.ID, fingerprint format.Fingerprint, +func (c *client) Send(recipient *id.ID, fingerprint format.Fingerprint, service message.Service, payload, mac []byte, cmixParams CMIXParams) ( id.Round, ephemeral.Id, error) { - if !m.Monitor.IsHealthy() { + if !c.Monitor.IsHealthy() { return 0, ephemeral.Id{}, errors.New( "Cannot send cmix message when the network is not healthy") } // Build message. Will panic if inputs are not correct. - msg := format.NewMessage(m.session.GetCmixGroup().GetP().ByteLen()) + msg := format.NewMessage(c.session.GetCmixGroup().GetP().ByteLen()) msg.SetKeyFP(fingerprint) msg.SetContents(payload) msg.SetMac(mac) msg.SetSIH(service.Hash(msg.GetContents())) if cmixParams.Critical { - m.crit.AddProcessing(msg, recipient, cmixParams) + c.crit.AddProcessing(msg, recipient, cmixParams) } - rid, ephID, rtnErr := sendCmixHelper(m.Sender, msg, recipient, cmixParams, - m.instance, m.session.GetCmixGroup(), m.Registrar, m.rng, m.events, - m.session.GetTransmissionID(), m.comms) + rid, ephID, rtnErr := sendCmixHelper(c.Sender, msg, recipient, cmixParams, + c.instance, c.session.GetCmixGroup(), c.Registrar, c.rng, c.events, + c.session.GetTransmissionID(), c.comms) if cmixParams.Critical { - m.crit.handle(msg, recipient, rid, rtnErr) + c.crit.handle(msg, recipient, rid, rtnErr) } return rid, ephID, rtnErr } -// sendCmixHelper is a helper function for manager.SendCMIX. +// sendCmixHelper is a helper function for client.SendCMIX. // NOTE: Payloads sent are not end-to-end encrypted; metadata is NOT protected // with this call. See SendE2E for end-to-end encryption and full privacy // protection. @@ -108,7 +108,7 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, attempted = excludedRounds.NewSet() } - jww.INFO.Printf("[SendCMIX-%s] Looking for round to send cMix message to "+ + jww.INFO.Printf("[Send-%s] Looking for round to send cMix message to "+ "%s (msgDigest: %s)", cmixParams.DebugTag, recipient, msg.Digest()) stream := rng.GetStream() @@ -120,18 +120,18 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, for numRoundTries := uint(0); numRoundTries < cmixParams.RoundTries; numRoundTries++ { elapsed := netTime.Since(timeStart) - jww.TRACE.Printf("[SendCMIX-%s] try %d, elapsed: %s", + jww.TRACE.Printf("[Send-%s] try %d, elapsed: %s", cmixParams.DebugTag, numRoundTries, elapsed) if elapsed > cmixParams.Timeout { - jww.INFO.Printf("[SendCMIX-%s] No rounds to send to %s "+ + jww.INFO.Printf("[Send-%s] No rounds to send to %s "+ "(msgDigest: %s) were found before timeout %s", cmixParams.DebugTag, recipient, msg.Digest(), cmixParams.Timeout) return 0, ephemeral.Id{}, errors.New("Sending cmix message timed out") } if numRoundTries > 0 { - jww.INFO.Printf("[SendCMIX-%s] Attempt %d to find round to send "+ + jww.INFO.Printf("[Send-%s] Attempt %d to find round to send "+ "message to %s (msgDigest: %s)", cmixParams.DebugTag, numRoundTries+1, recipient, msg.Digest()) } @@ -141,17 +141,17 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, bestRound, err := instance.GetWaitingRounds().GetUpcomingRealtime( remainingTime, attempted, sendTimeBuffer) if err != nil { - jww.WARN.Printf("[SendCMIX-%s] Failed to GetUpcomingRealtime "+ + jww.WARN.Printf("[Send-%s] Failed to GetUpcomingRealtime "+ "(msgDigest: %s): %+v", cmixParams.DebugTag, msg.Digest(), err) } if bestRound == nil { jww.WARN.Printf( - "[SendCMIX-%s] Best round on send is nil", cmixParams.DebugTag) + "[Send-%s] Best round on send is nil", cmixParams.DebugTag) continue } - jww.TRACE.Printf("[SendCMIX-%s] Best round found: %+v", + jww.TRACE.Printf("[Send-%s] Best round found: %+v", cmixParams.DebugTag, bestRound) // Determine whether the selected round contains any nodes that are @@ -169,7 +169,7 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, } if containsBlacklisted { - jww.WARN.Printf("[SendCMIX-%s] Round %d contains blacklisted "+ + jww.WARN.Printf("[Send-%s] Round %d contains blacklisted "+ "nodes, skipping...", cmixParams.DebugTag, bestRound.ID) continue } @@ -178,12 +178,12 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, firstGateway, roundKeys, err := processRound( nodes, bestRound, recipient.String(), msg.Digest()) if err != nil { - jww.WARN.Printf("[SendCMIX-%s] SendCmix failed to process round "+ + jww.WARN.Printf("[Send-%s] SendCmix failed to process round "+ "(will retry): %v", cmixParams.DebugTag, err) continue } - jww.TRACE.Printf("[SendCMIX-%s] Round %v processed, firstGW: %s", + jww.TRACE.Printf("[Send-%s] Round %v processed, firstGW: %s", cmixParams.DebugTag, bestRound, firstGateway) // Build the messages to send @@ -193,7 +193,7 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, return 0, ephemeral.Id{}, err } - jww.INFO.Printf("[SendCMIX-%s] Sending to EphID %d (%s), on round %d "+ + jww.INFO.Printf("[Send-%s] Sending to EphID %d (%s), on round %d "+ "(msgDigest: %s, ecrMsgDigest: %s) via gateway %s", cmixParams.DebugTag, ephID.Int64(), recipient, bestRound.ID, msg.Digest(), encMsg.Digest(), firstGateway.String()) @@ -204,7 +204,7 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, wrappedMsg.Target = target.Marshal() jww.TRACE.Printf( - "[SendCMIX-%s] sendFunc %s", cmixParams.DebugTag, host) + "[Send-%s] sendFunc %s", cmixParams.DebugTag, host) // Use the smaller of the two timeout durations timeout = calculateSendTimeout(bestRound, maxTimeout) @@ -215,13 +215,13 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, // Send the message result, err := comms.SendPutMessage(host, wrappedMsg, timeout) - jww.TRACE.Printf("[SendCMIX-%s] sendFunc %s put message", + jww.TRACE.Printf("[Send-%s] sendFunc %s put message", cmixParams.DebugTag, host) if err != nil { err := handlePutMessageError( firstGateway, nodes, recipient.String(), bestRound, err) - jww.TRACE.Printf("[SendCMIX-%s] sendFunc %s error: %+v", + jww.TRACE.Printf("[Send-%s] sendFunc %s error: %+v", cmixParams.DebugTag, host, err) return result, errors.WithMessagef( err, "SendCmix %s", unrecoverableError) @@ -230,12 +230,12 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, return result, err } - jww.TRACE.Printf("[SendCMIX-%s] sendToPreferred %s", + jww.TRACE.Printf("[Send-%s] sendToPreferred %s", cmixParams.DebugTag, firstGateway) result, err := sender.SendToPreferred([]*id.ID{firstGateway}, sendFunc, cmixParams.Stop, cmixParams.SendTimeout) - jww.DEBUG.Printf("[SendCMIX-%s] sendToPreferred %s returned", + jww.DEBUG.Printf("[Send-%s] sendToPreferred %s returned", cmixParams.DebugTag, firstGateway) // Exit if the thread has been stopped @@ -246,13 +246,13 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, // If the comm errors or the message fails to send, continue retrying if err != nil { if strings.Contains(err.Error(), rateLimiting.ClientRateLimitErr) { - jww.ERROR.Printf("[SendCMIX-%s] SendCmix failed to send to "+ + jww.ERROR.Printf("[Send-%s] SendCmix failed to send to "+ "EphID %d (%s) on round %d: %+v", cmixParams.DebugTag, ephID.Int64(), recipient, bestRound.ID, err) return 0, ephemeral.Id{}, err } - jww.ERROR.Printf("[SendCMIX-%s] SendCmix failed to send to "+ + jww.ERROR.Printf("[Send-%s] SendCmix failed to send to "+ "EphID %d (%s) on round %d, trying a new round: %+v", cmixParams.DebugTag, ephID.Int64(), recipient, bestRound.ID, err) continue @@ -261,7 +261,7 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, // Return if it sends properly gwSlotResp := result.(*pb.GatewaySlotResponse) if gwSlotResp.Accepted { - m := fmt.Sprintf("[SendCMIX-%s] Successfully sent to EphID %v "+ + m := fmt.Sprintf("[Send-%s] Successfully sent to EphID %v "+ "(source: %s) in round %d (msgDigest: %s), elapsed: %s "+ "numRoundTries: %d", cmixParams.DebugTag, ephID.Int64(), recipient, bestRound.ID, msg.Digest(), elapsed, numRoundTries) @@ -271,7 +271,7 @@ func sendCmixHelper(sender gateway.Sender, msg format.Message, recipient *id.ID, return id.Round(bestRound.ID), ephID, nil } else { - jww.FATAL.Panicf("[SendCMIX-%s] Gateway %s returned no error, "+ + jww.FATAL.Panicf("[Send-%s] Gateway %s returned no error, "+ "but failed to accept message when sending to EphID %d (%s) "+ "on round %d", cmixParams.DebugTag, firstGateway, ephID.Int64(), recipient, bestRound.ID) diff --git a/network/sendCmixUtils.go b/cmix/sendCmixUtils.go similarity index 98% rename from network/sendCmixUtils.go rename to cmix/sendCmixUtils.go index 8174fac14..fd3ad4bc7 100644 --- a/network/sendCmixUtils.go +++ b/cmix/sendCmixUtils.go @@ -5,12 +5,12 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/nodes" + "gitlab.com/elixxir/client/cmix/nodes" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/fastRNG" @@ -25,7 +25,7 @@ import ( "time" ) -// SendCmixCommsInterface is the interface for SendCMIX comms; allows mocking +// SendCmixCommsInterface is the interface for Send comms; allows mocking // this in testing. type SendCmixCommsInterface interface { // SendPutMessage places a cMix message on the gateway to be sent through diff --git a/network/sendCmix_test.go b/cmix/sendCmix_test.go similarity index 94% rename from network/sendCmix_test.go rename to cmix/sendCmix_test.go index 93895bcdb..d52f62679 100644 --- a/network/sendCmix_test.go +++ b/cmix/sendCmix_test.go @@ -1,7 +1,7 @@ -package network +package cmix import ( - "gitlab.com/elixxir/client/network/message" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/primitives/id" @@ -113,7 +113,7 @@ func Test_attemptSendCmix(t *testing.T) { func TestManager_SendCMIX(t *testing.T) { m, err := newTestManager(t) if err != nil { - t.Fatalf("Failed to create test manager: %+v", err) + t.Fatalf("Failed to create test client: %+v", err) } recipientID := id.NewIdFromString("zezima", id.User, t) @@ -127,10 +127,10 @@ func TestManager_SendCMIX(t *testing.T) { } mac[0] = 0 params := GetDefaultCMIXParams() - rid, eid, err := m.SendCMIX(recipientID, fp, service, contents, mac, params) + rid, eid, err := m.Send(recipientID, fp, service, contents, mac, params) if err != nil { t.Errorf("Failed to sendcmix: %+v", err) t.FailNow() } - t.Logf("Test of SendCMIX returned:\n\trid: %v\teid: %+v", rid, eid) + t.Logf("Test of Send returned:\n\trid: %v\teid: %+v", rid, eid) } diff --git a/network/sendManyCmix.go b/cmix/sendManyCmix.go similarity index 86% rename from network/sendManyCmix.go rename to cmix/sendManyCmix.go index 35b4b7615..6e67eff24 100644 --- a/network/sendManyCmix.go +++ b/cmix/sendManyCmix.go @@ -5,16 +5,16 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "fmt" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/message" + "gitlab.com/elixxir/client/cmix/nodes" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/message" - "gitlab.com/elixxir/client/network/nodes" "gitlab.com/elixxir/client/stoppable" pb "gitlab.com/elixxir/comms/mixmessages" "gitlab.com/elixxir/comms/network" @@ -65,16 +65,16 @@ type TargetedCmixMessage struct { // Will return an error if the network is unhealthy or if it fails to send // (along with the reason). Blocks until successful send or err. // WARNING: Do not roll your own crypto -func (m *manager) SendManyCMIX(messages []TargetedCmixMessage, +func (c *client) SendMany(messages []TargetedCmixMessage, p CMIXParams) (id.Round, []ephemeral.Id, error) { - if !m.Monitor.IsHealthy() { + if !c.Monitor.IsHealthy() { return 0, []ephemeral.Id{}, errors.New( "Cannot send cMix message when the network is not healthy") } acms := make([]assembledCmixMessage, len(messages)) for i := range messages { - msg := format.NewMessage(m.session.GetCmixGroup().GetP().ByteLen()) + msg := format.NewMessage(c.session.GetCmixGroup().GetP().ByteLen()) msg.SetKeyFP(messages[i].Fingerprint) msg.SetContents(messages[i].Payload) msg.SetMac(messages[i].Mac) @@ -86,9 +86,9 @@ func (m *manager) SendManyCMIX(messages []TargetedCmixMessage, } } - return sendManyCmixHelper(m.Sender, acms, p, - m.instance, m.session.GetCmixGroup(), m.Registrar, m.rng, m.events, - m.session.GetTransmissionID(), m.comms) + return sendManyCmixHelper(c.Sender, acms, p, + c.instance, c.session.GetCmixGroup(), c.Registrar, c.rng, c.events, + c.session.GetTransmissionID(), c.comms) } type assembledCmixMessage struct { @@ -96,11 +96,11 @@ type assembledCmixMessage struct { Message format.Message } -// sendManyCmixHelper is a helper function for manager.SendManyCMIX. +// sendManyCmixHelper is a helper function for client.SendManyCMIX. // // NOTE: Payloads sent are not end-to-end encrypted, metadata is NOT protected // with this call; see SendE2E for end-to-end encryption and full privacy -// protection. Internal SendManyCMIX, which bypasses the network check, will +// protection. Internal SendMany, which bypasses the network check, will // attempt to send to the network without checking state. It has a built-in // retry system which can be configured through the params object. // @@ -126,7 +126,7 @@ func sendManyCmixHelper(sender gateway.Sender, recipientString, msgDigests := messageListToStrings(msgs) - jww.INFO.Printf("[SendManyCMIX-%s] Looking for round to send cMix "+ + jww.INFO.Printf("[SendMany-%s] Looking for round to send cMix "+ "messages to [%s] (msgDigest: %s)", param.DebugTag, recipientString, msgDigests) @@ -143,7 +143,7 @@ func sendManyCmixHelper(sender gateway.Sender, elapsed := netTime.Since(timeStart) if elapsed > param.Timeout { - jww.INFO.Printf("[SendManyCMIX-%s] No rounds to send to %s "+ + jww.INFO.Printf("[SendMany-%s] No rounds to send to %s "+ "(msgDigest: %s) were found before timeout %s", param.DebugTag, recipientString, msgDigests, param.Timeout) return 0, []ephemeral.Id{}, @@ -151,7 +151,7 @@ func sendManyCmixHelper(sender gateway.Sender, } if numRoundTries > 0 { - jww.INFO.Printf("[SendManyCMIX-%s] Attempt %d to find round to "+ + jww.INFO.Printf("[SendMany-%s] Attempt %d to find round to "+ "send message to %s (msgDigest: %s)", param.DebugTag, numRoundTries+1, recipientString, msgDigests) } @@ -179,7 +179,7 @@ func sendManyCmixHelper(sender gateway.Sender, } } if containsBlacklisted { - jww.WARN.Printf("[SendManyCMIX-%s] Round %d contains blacklisted "+ + jww.WARN.Printf("[SendMany-%s] Round %d contains blacklisted "+ "nodes, skipping...", param.DebugTag, bestRound.ID) continue } @@ -188,9 +188,9 @@ func sendManyCmixHelper(sender gateway.Sender, firstGateway, roundKeys, err := processRound( registrar, bestRound, recipientString, msgDigests) if err != nil { - jww.INFO.Printf("[SendManyCMIX-%s] Error processing round: %v", + jww.INFO.Printf("[SendMany-%s] Error processing round: %v", param.DebugTag, err) - jww.WARN.Printf("[SendManyCMIX-%s] SendManyCMIX failed to "+ + jww.WARN.Printf("[SendMany-%s] SendMany failed to "+ "process round %d (will retry): %+v", param.DebugTag, bestRound.ID, err) continue @@ -207,7 +207,7 @@ func sendManyCmixHelper(sender gateway.Sender, bestRound, roundKeys) if err != nil { stream.Close() - jww.INFO.Printf("[SendManyCMIX-%s] Error building slot "+ + jww.INFO.Printf("[SendMany-%s] Error building slot "+ "received: %v", param.DebugTag, err) return 0, []ephemeral.Id{}, errors.Errorf("failed to build "+ "slot message for %s: %+v", msg.Recipient, err) @@ -220,7 +220,7 @@ func sendManyCmixHelper(sender gateway.Sender, ephemeralIDsString := ephemeralIdListToString(ephemeralIDs) encMsgsDigest := messagesToDigestString(encMsgs) - jww.INFO.Printf("[SendManyCMIX-%s]Sending to EphIDs [%s] (%s) on round %d, "+ + jww.INFO.Printf("[SendMany-%s]Sending to EphIDs [%s] (%s) on round %d, "+ "(msgDigest: %s, ecrMsgDigest: %s) via gateway %s", param.DebugTag, ephemeralIDsString, recipientString, bestRound.ID, msgDigests, encMsgsDigest, firstGateway) @@ -247,7 +247,7 @@ func sendManyCmixHelper(sender gateway.Sender, err := handlePutMessageError(firstGateway, registrar, recipientString, bestRound, err) return result, errors.WithMessagef(err, - "SendManyCMIX %s (via %s): %s", + "SendMany %s (via %s): %s", target, host, unrecoverableError) } @@ -264,15 +264,15 @@ func sendManyCmixHelper(sender gateway.Sender, // If the comm errors or the message fails to send, continue retrying if err != nil { if !strings.Contains(err.Error(), unrecoverableError) { - jww.ERROR.Printf("[SendManyCMIX-%s] SendManyCMIX failed to "+ + jww.ERROR.Printf("[SendMany-%s] SendMany failed to "+ "send to EphIDs [%s] (sources: %s) on round %d, trying "+ "a new round %+v", param.DebugTag, ephemeralIDsString, recipientString, bestRound.ID, err) - jww.INFO.Printf("[SendManyCMIX-%s] Error received, "+ + jww.INFO.Printf("[SendMany-%s] Error received, "+ "continuing: %v", param.DebugTag, err) continue } else { - jww.INFO.Printf("[SendManyCMIX-%s] Error received: %v", + jww.INFO.Printf("[SendMany-%s] Error received: %v", param.DebugTag, err) } return 0, []ephemeral.Id{}, err @@ -281,7 +281,7 @@ func sendManyCmixHelper(sender gateway.Sender, // Return if it sends properly gwSlotResp := result.(*pb.GatewaySlotResponse) if gwSlotResp.Accepted { - m := fmt.Sprintf("[SendManyCMIX-%s] Successfully sent to EphIDs "+ + m := fmt.Sprintf("[SendMany-%s] Successfully sent to EphIDs "+ "%s (sources: [%s]) in round %d (msgDigest: %s)", param.DebugTag, ephemeralIDsString, recipientString, bestRound.ID, msgDigests) @@ -289,7 +289,7 @@ func sendManyCmixHelper(sender gateway.Sender, events.Report(1, "MessageSendMany", "Metric", m) return id.Round(bestRound.ID), ephemeralIDs, nil } else { - jww.FATAL.Panicf("[SendManyCMIX-%s] Gateway %s returned no "+ + jww.FATAL.Panicf("[SendMany-%s] Gateway %s returned no "+ "error, but failed to accept message when sending to EphIDs "+ "[%s] (%s) on round %d", param.DebugTag, firstGateway, ephemeralIDsString, recipientString, bestRound.ID) diff --git a/network/sendManyCmix_test.go b/cmix/sendManyCmix_test.go similarity index 94% rename from network/sendManyCmix_test.go rename to cmix/sendManyCmix_test.go index 6e04bc846..8a90b4057 100644 --- a/network/sendManyCmix_test.go +++ b/cmix/sendManyCmix_test.go @@ -1,7 +1,7 @@ -package network +package cmix import ( - "gitlab.com/elixxir/client/network/message" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/primitives/id" @@ -151,7 +151,7 @@ func Test_attemptSendManyCmix(t *testing.T) { func TestManager_SendManyCMIX(t *testing.T) { m, err := newTestManager(t) if err != nil { - t.Fatalf("Failed to create test manager: %+v", err) + t.Fatalf("Failed to create test client: %+v", err) } recipientID := id.NewIdFromString("zezima", id.User, t) @@ -181,10 +181,10 @@ func TestManager_SendManyCMIX(t *testing.T) { }, } - rid, eid, err := m.SendManyCMIX(messages, GetDefaultCMIXParams()) + rid, eid, err := m.SendMany(messages, GetDefaultCMIXParams()) if err != nil { - t.Errorf("Failed to run SendManyCMIX: %+v", err) + t.Errorf("Failed to run SendMany: %+v", err) } - t.Logf("Test of SendManyCMIX returned:\n\trid: %v\teid: %+v", rid, eid) + t.Logf("Test of SendMany returned:\n\trid: %v\teid: %+v", rid, eid) } diff --git a/network/trackResults.go b/cmix/trackResults.go similarity index 98% rename from network/trackResults.go rename to cmix/trackResults.go index 1f17b2cfe..c27b25940 100644 --- a/network/trackResults.go +++ b/cmix/trackResults.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( jww "github.com/spf13/jwalterweatherman" diff --git a/network/utils_test.go b/cmix/utils_test.go similarity index 98% rename from network/utils_test.go rename to cmix/utils_test.go index eb81f9362..f670fa206 100644 --- a/network/utils_test.go +++ b/cmix/utils_test.go @@ -4,16 +4,16 @@ // Use of this source code is governed by a license that can be found in the // // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package network +package cmix import ( "github.com/pkg/errors" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/nodes" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/nodes" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/storage/versioned" - "gitlab.com/elixxir/comms/client" + commClient "gitlab.com/elixxir/comms/client" "gitlab.com/elixxir/comms/mixmessages" commsNetwork "gitlab.com/elixxir/comms/network" ds "gitlab.com/elixxir/comms/network/dataStructures" @@ -209,10 +209,10 @@ func mockFailCriticalSender(msg format.Message, recipient *id.ID, return id.Round(1), ephemeral.Id{}, errors.New("Test error") } -func newTestManager(t *testing.T) (*manager, error) { +func newTestManager(t *testing.T) (*client, error) { kv := versioned.NewKV(ekv.Memstore{}) myID := id.NewIdFromString("zezima", id.User, t) - comms, err := client.NewClientComms(myID, nil, nil, nil) + comms, err := commClient.NewClientComms(myID, nil, nil, nil) if err != nil { return nil, err } @@ -259,7 +259,7 @@ func newTestManager(t *testing.T) (*manager, error) { rnd := ds.NewRound(ri, pubKey, nil) inst.GetWaitingRounds().Insert([]*ds.Round{rnd}, nil) - m := &manager{ + m := &client{ session: storage.InitTestingSession(t), rng: fastRNG.NewStreamGenerator(1000, 10, csprng.NewSystemRNG), instance: inst, diff --git a/dummy/send.go b/dummy/send.go index e3d0818e3..4b4722251 100644 --- a/dummy/send.go +++ b/dummy/send.go @@ -106,7 +106,7 @@ func (m *Manager) sendMessages(msgs map[id.ID]format.Message) error { _, _, err := m.net.SendCMIX(msg, &recipient, p) if err != nil { jww.WARN.Printf("Failed to send dummy message %d/%d via "+ - "SendCMIX: %+v", i, len(msgs), err) + "Send: %+v", i, len(msgs), err) } else { atomic.AddInt64(&sent, 1) } diff --git a/dummy/utils_test.go b/dummy/utils_test.go index 12af098f4..c6ecaf36b 100644 --- a/dummy/utils_test.go +++ b/dummy/utils_test.go @@ -9,11 +9,11 @@ package dummy import ( "github.com/pkg/errors" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/comms/network" @@ -127,7 +127,7 @@ func (tnm *testNetworkManager) SendCMIX(message format.Message, defer tnm.Unlock() if tnm.sendErr { - return 0, ephemeral.Id{}, errors.New("SendCMIX error") + return 0, ephemeral.Id{}, errors.New("Send error") } tnm.messages[*recipient] = message diff --git a/e2e/critical.go b/e2e/critical.go index 698f4b61e..9019dfee7 100644 --- a/e2e/critical.go +++ b/e2e/critical.go @@ -3,7 +3,7 @@ package e2e import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/catalog" - "gitlab.com/elixxir/client/network" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage/versioned" ds "gitlab.com/elixxir/comms/network/dataStructures" @@ -85,7 +85,7 @@ func (c *critical) handle(mt catalog.MessageType, recipient *id.ID, rid, sendResults, 1*time.Minute, states.COMPLETED, states.FAILED) } - success, numTimeOut, _ := network.TrackResults(sendResults, len(rids)) + success, numTimeOut, _ := cmix.TrackResults(sendResults, len(rids)) if !success { if numTimeOut > 0 { jww.ERROR.Printf("Critical e2e message resend to %s "+ diff --git a/e2e/e2eMessageBuffer_test.go b/e2e/e2eMessageBuffer_test.go index fb3e1d2f7..b10433dac 100644 --- a/e2e/e2eMessageBuffer_test.go +++ b/e2e/e2eMessageBuffer_test.go @@ -10,7 +10,7 @@ package e2e import ( "encoding/json" "gitlab.com/elixxir/client/catalog" - "gitlab.com/elixxir/client/network" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" @@ -178,7 +178,7 @@ func TestE2EParamMarshalUnmarshal(t *testing.T) { Payload: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9}, MessageType: 42, Params: Params{ - CMIX: network.CMIXParams{ + CMIX: cmix.CMIXParams{ RoundTries: 6, Timeout: 99, RetryDelay: -4, diff --git a/e2e/interface.go b/e2e/interface.go index 96496eda4..670311b88 100644 --- a/e2e/interface.go +++ b/e2e/interface.go @@ -3,10 +3,10 @@ package e2e import ( "github.com/cloudflare/circl/dh/sidh" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/e2e/receive" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/elixxir/crypto/e2e" diff --git a/e2e/manager.go b/e2e/manager.go index 0dd00ab24..56c940e8a 100644 --- a/e2e/manager.go +++ b/e2e/manager.go @@ -4,13 +4,13 @@ import ( "encoding/json" "github.com/pkg/errors" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/parse" "gitlab.com/elixxir/client/e2e/ratchet" "gitlab.com/elixxir/client/e2e/receive" "gitlab.com/elixxir/client/e2e/rekey" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" @@ -24,7 +24,7 @@ type manager struct { *ratchet.Ratchet *receive.Switchboard partitioner parse.Partitioner - net network.Manager + net cmix.Client myDefaultID *id.ID rng *fastRNG.StreamGenerator events event.Manager @@ -59,7 +59,7 @@ func Init(kv *versioned.KV, myDefaultID *id.ID, privKey *cyclic.Int, // Load returns an e2e manager from storage // Passes a default ID which is used for relationship with // partners when no default ID is selected -func Load(kv *versioned.KV, net network.Manager, myDefaultID *id.ID, +func Load(kv *versioned.KV, net cmix.Client, myDefaultID *id.ID, grp *cyclic.Group, rng *fastRNG.StreamGenerator, events event.Manager) (Handler, error) { //build the manager @@ -106,7 +106,7 @@ func (m *manager) StartProcesses() (stoppable.Stoppable, error) { multi.Add(critcalNetworkStopper) rekeySendFunc := func(mt catalog.MessageType, recipient *id.ID, payload []byte, - cmixParams network.CMIXParams) ( + cmixParams cmix.CMIXParams) ( []id.Round, e2e.MessageID, time.Time, error) { par := GetDefaultParams() par.CMIX = cmixParams diff --git a/e2e/params.go b/e2e/params.go index f897548a9..78212dbda 100644 --- a/e2e/params.go +++ b/e2e/params.go @@ -3,7 +3,7 @@ package e2e import ( "encoding/json" "gitlab.com/elixxir/client/catalog" - "gitlab.com/elixxir/client/network" + "gitlab.com/elixxir/client/cmix" "time" ) @@ -23,7 +23,7 @@ type Params struct { //Underlying cmix tags. // Note: if critical is true, an alternative critical messages system within // e2e will be used which preserves privacy - CMIX network.CMIXParams + CMIX cmix.CMIXParams //Authorizes the message to use a key reserved for rekeying. Do not use //unless sending a rekey @@ -38,7 +38,7 @@ func GetDefaultParams() Params { KeyGetRetryCount: 10, KeyGeRetryDelay: 500 * time.Millisecond, - CMIX: network.GetDefaultCMIXParams(), + CMIX: cmix.GetDefaultCMIXParams(), Rekey: false, } } diff --git a/e2e/processor.go b/e2e/processor.go index 62f2ab659..be0ad21ad 100644 --- a/e2e/processor.go +++ b/e2e/processor.go @@ -2,9 +2,9 @@ package e2e import ( jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" "gitlab.com/elixxir/primitives/format" ) diff --git a/e2e/ratchet/partner/interface.go b/e2e/ratchet/partner/interface.go index 170fb88b4..c051bf0b7 100644 --- a/e2e/ratchet/partner/interface.go +++ b/e2e/ratchet/partner/interface.go @@ -2,8 +2,8 @@ package partner import ( "github.com/cloudflare/circl/dh/sidh" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/crypto/contact" "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/xx_network/primitives/id" diff --git a/e2e/ratchet/partner/manager.go b/e2e/ratchet/partner/manager.go index fe5621e41..98699392f 100644 --- a/e2e/ratchet/partner/manager.go +++ b/e2e/ratchet/partner/manager.go @@ -14,8 +14,8 @@ import ( "github.com/cloudflare/circl/dh/sidh" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/contact" diff --git a/e2e/ratchet/partner/manager_test.go b/e2e/ratchet/partner/manager_test.go index 45a25e9ba..938218ab8 100644 --- a/e2e/ratchet/partner/manager_test.go +++ b/e2e/ratchet/partner/manager_test.go @@ -11,8 +11,8 @@ import ( "bytes" "encoding/base64" "github.com/cloudflare/circl/dh/sidh" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/message" util "gitlab.com/elixxir/client/storage/utility" dh "gitlab.com/elixxir/crypto/diffieHellman" e2eCrypto "gitlab.com/elixxir/crypto/e2e" diff --git a/e2e/ratchet/ratchet.go b/e2e/ratchet/ratchet.go index 695af6272..2396ceef7 100644 --- a/e2e/ratchet/ratchet.go +++ b/e2e/ratchet/ratchet.go @@ -11,9 +11,9 @@ import ( "github.com/cloudflare/circl/dh/sidh" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/message" util "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" diff --git a/e2e/ratchet/serviceList.go b/e2e/ratchet/serviceList.go index b07f083b6..040a78622 100644 --- a/e2e/ratchet/serviceList.go +++ b/e2e/ratchet/serviceList.go @@ -2,12 +2,12 @@ package ratchet import ( "github.com/pkg/errors" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner" - "gitlab.com/elixxir/client/network/message" "gitlab.com/xx_network/primitives/id" ) -// Services is a subsection of the network.Manager interface used for services +// Services is a subsection of the cmix.Manager interface used for services type Services interface { AddService(AddService *id.ID, newService message.Service, response message.Processor) diff --git a/e2e/ratchet/storage.go b/e2e/ratchet/storage.go index 10aaf8d4d..d3b889a26 100644 --- a/e2e/ratchet/storage.go +++ b/e2e/ratchet/storage.go @@ -4,9 +4,9 @@ import ( "encoding/json" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/message" util "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" diff --git a/e2e/ratchet/utils_test.go b/e2e/ratchet/utils_test.go index 2856948e6..814155300 100644 --- a/e2e/ratchet/utils_test.go +++ b/e2e/ratchet/utils_test.go @@ -3,9 +3,9 @@ package ratchet import ( "github.com/cloudflare/circl/dh/sidh" "github.com/pkg/errors" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" - "gitlab.com/elixxir/client/network/message" util "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" diff --git a/e2e/receive/message.go b/e2e/receive/message.go index fe6ae5f0a..560f2224a 100644 --- a/e2e/receive/message.go +++ b/e2e/receive/message.go @@ -2,7 +2,7 @@ package receive import ( "gitlab.com/elixxir/client/catalog" - "gitlab.com/elixxir/client/network/historical" + "gitlab.com/elixxir/client/cmix/historical" "gitlab.com/elixxir/crypto/e2e" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" diff --git a/e2e/rekey/exchange.go b/e2e/rekey/exchange.go index 2bfd86e89..30345ca1a 100644 --- a/e2e/rekey/exchange.go +++ b/e2e/rekey/exchange.go @@ -9,9 +9,9 @@ package rekey import ( "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/e2e/ratchet" "gitlab.com/elixxir/client/e2e/receive" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/elixxir/crypto/e2e" @@ -20,11 +20,11 @@ import ( ) type E2eSender func(mt catalog.MessageType, recipient *id.ID, payload []byte, - cmixParams network.CMIXParams) ( + cmixParams cmix.CMIXParams) ( []id.Round, e2e.MessageID, time.Time, error) func Start(switchboard *receive.Switchboard, ratchet *ratchet.Ratchet, - sender E2eSender, net network.Manager, grp *cyclic.Group, params Params) (stoppable.Stoppable, error) { + sender E2eSender, net cmix.Client, grp *cyclic.Group, params Params) (stoppable.Stoppable, error) { // register the rekey trigger thread triggerCh := make(chan receive.Message, 100) diff --git a/e2e/rekey/rekey.go b/e2e/rekey/rekey.go index 3b314153b..ec09947b0 100644 --- a/e2e/rekey/rekey.go +++ b/e2e/rekey/rekey.go @@ -12,10 +12,10 @@ import ( "github.com/golang/protobuf/proto" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/e2e/ratchet/partner" session "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/event" - "gitlab.com/elixxir/client/network" util "gitlab.com/elixxir/client/storage/utility" commsNetwork "gitlab.com/elixxir/comms/network" ds "gitlab.com/elixxir/comms/network/dataStructures" @@ -119,7 +119,7 @@ func negotiate(instance *commsNetwork.Instance, grp *cyclic.Group, sendE2E E2eSe } //send the message under the key exchange - params := network.GetDefaultCMIXParams() + params := cmix.GetDefaultCMIXParams() params.DebugTag = "kx.Request" rounds, msgID, _, err := sendE2E(param.Trigger, sess.GetPartner(), @@ -144,7 +144,7 @@ func negotiate(instance *commsNetwork.Instance, grp *cyclic.Group, sendE2E E2eSe } //Wait until the result tracking responds - success, numRoundFail, numTimeOut := network.TrackResults(sendResults, + success, numRoundFail, numTimeOut := cmix.TrackResults(sendResults, len(rounds)) // If a single partition of the Key Negotiation request does not diff --git a/e2e/rekey/trigger.go b/e2e/rekey/trigger.go index 4eb03ca19..c993c514d 100644 --- a/e2e/rekey/trigger.go +++ b/e2e/rekey/trigger.go @@ -13,10 +13,10 @@ import ( "github.com/golang/protobuf/proto" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/e2e/ratchet" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/e2e/receive" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/stoppable" util "gitlab.com/elixxir/client/storage/utility" "gitlab.com/elixxir/crypto/cyclic" @@ -28,7 +28,7 @@ const ( errFailed = "Failed to handle rekey trigger: %s" ) -func startTrigger(ratchet *ratchet.Ratchet, sender E2eSender, net network.Manager, +func startTrigger(ratchet *ratchet.Ratchet, sender E2eSender, net cmix.Client, grp *cyclic.Group, c chan receive.Message, stop *stoppable.Single, params Params, cleanup func()) { for { @@ -50,7 +50,7 @@ func startTrigger(ratchet *ratchet.Ratchet, sender E2eSender, net network.Manage } func handleTrigger(ratchet *ratchet.Ratchet, sender E2eSender, - net network.Manager, grp *cyclic.Group, request receive.Message, + net cmix.Client, grp *cyclic.Group, request receive.Message, param Params, stop *stoppable.Single) error { //ensure the message was encrypted properly if !request.Encrypted { @@ -116,7 +116,7 @@ func handleTrigger(ratchet *ratchet.Ratchet, sender E2eSender, } //send the trigger - params := network.GetDefaultCMIXParams() + params := cmix.GetDefaultCMIXParams() params.Critical = true //ignore results, the passed sender interface makes it a critical message _, _, _, _ = sender(param.Confirm, request.Sender, payload, diff --git a/e2e/rekey/utils_test.go b/e2e/rekey/utils_test.go index 4b27cef48..2f817871e 100644 --- a/e2e/rekey/utils_test.go +++ b/e2e/rekey/utils_test.go @@ -11,13 +11,13 @@ import ( "github.com/cloudflare/circl/dh/sidh" "github.com/golang/protobuf/proto" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/gateway" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity" + "gitlab.com/elixxir/client/cmix/message" session2 "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/e2e/receive" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/gateway" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/client/stoppable" util "gitlab.com/elixxir/client/storage/utility" network2 "gitlab.com/elixxir/comms/network" @@ -72,7 +72,7 @@ func genSidhKeys() (*sidh.PrivateKey, *sidh.PublicKey, *sidh.PrivateKey, *sidh.P } func testSendE2E(mt catalog.MessageType, recipient *id.ID, - payload []byte, cmixParams network.CMIXParams) ([]id.Round, e2e.MessageID, time.Time, error) { + payload []byte, cmixParams cmix.CMIXParams) ([]id.Round, e2e.MessageID, time.Time, error) { rounds := []id.Round{id.Round(0), id.Round(1), id.Round(2)} alicePartner, err := r.GetPartner(aliceID, bobID) if err != nil { @@ -228,7 +228,7 @@ func (m *mockNetManager) GetIdentity(get *id.ID) (identity.TrackedID, error) { panic("implement me") } -func (m *mockNetManager) Follow(report network.ClientErrorReport) (stoppable.Stoppable, error) { +func (m *mockNetManager) Follow(report cmix.ClientErrorReport) (stoppable.Stoppable, error) { return nil, nil } @@ -236,13 +236,13 @@ func (m *mockNetManager) GetMaxMessageLength() int { return 0 } -func (m *mockNetManager) SendCMIX(recipient *id.ID, fingerprint format.Fingerprint, - service message.Service, payload, mac []byte, cmixParams network.CMIXParams) ( +func (m *mockNetManager) Send(recipient *id.ID, fingerprint format.Fingerprint, + service message.Service, payload, mac []byte, cmixParams cmix.CMIXParams) ( id.Round, ephemeral.Id, error) { return id.Round(0), ephemeral.Id{}, nil } -func (m *mockNetManager) SendManyCMIX(messages []network.TargetedCmixMessage, p network.CMIXParams) ( +func (m *mockNetManager) SendMany(messages []cmix.TargetedCmixMessage, p cmix.CMIXParams) ( id.Round, []ephemeral.Id, error) { return id.Round(0), nil, nil } @@ -298,7 +298,7 @@ func (m *mockNetManager) NumRegisteredNodes() int { func (m *mockNetManager) TriggerNodeRegistration(nid *id.ID) {} -func (m *mockNetManager) GetRoundResults(timeout time.Duration, roundCallback network.RoundEventCallback, +func (m *mockNetManager) GetRoundResults(timeout time.Duration, roundCallback cmix.RoundEventCallback, roundList ...id.Round) error { return nil } diff --git a/e2e/sendE2E.go b/e2e/sendE2E.go index 287c69f57..4aa825cc0 100644 --- a/e2e/sendE2E.go +++ b/e2e/sendE2E.go @@ -4,10 +4,10 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet/partner/session" "gitlab.com/elixxir/client/e2e/rekey" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/primitives/format" @@ -82,7 +82,7 @@ func (m *manager) sendE2E(mt catalog.MessageType, recipient *id.ID, if mt != catalog.KeyExchangeTrigger { // check if any rekeys need to happen and trigger them rekeySendFunc := func(mt catalog.MessageType, recipient *id.ID, payload []byte, - cmixParams network.CMIXParams) ( + cmixParams cmix.CMIXParams) ( []id.Round, e2e.MessageID, time.Time, error) { par := GetDefaultParams() par.CMIX = cmixParams diff --git a/e2e/sendUnsafe.go b/e2e/sendUnsafe.go index ac7582992..d9b13d697 100644 --- a/e2e/sendUnsafe.go +++ b/e2e/sendUnsafe.go @@ -4,8 +4,8 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e/ratchet" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/crypto/e2e" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/netTime" @@ -67,7 +67,7 @@ func (m *manager) sendUnsafe(mt catalog.MessageType, recipient *id.ID, unencryptedMAC, fp := e2e.SetUnencrypted(payload, m.myDefaultID) var err error - roundIds[i], _, err = m.net.SendCMIX(recipient, fp, + roundIds[i], _, err = m.net.Send(recipient, fp, srvc, payload, unencryptedMAC, params.CMIX) if err != nil { errCh <- err diff --git a/e2e/unsafeProcessor.go b/e2e/unsafeProcessor.go index 942e0a1a9..64218bb28 100644 --- a/e2e/unsafeProcessor.go +++ b/e2e/unsafeProcessor.go @@ -2,8 +2,8 @@ package e2e import ( jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/primitives/format" ) diff --git a/fileTransfer/manager.go b/fileTransfer/manager.go index 7fc8e3416..2235b9879 100644 --- a/fileTransfer/manager.go +++ b/fileTransfer/manager.go @@ -11,9 +11,9 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/api" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" ftStorage "gitlab.com/elixxir/client/storage/fileTransfer" @@ -120,7 +120,7 @@ type Manager struct { // getRoundResultsFunc is a function that matches client.GetRoundResults. It is // used to pass in an alternative function for testing. type getRoundResultsFunc func(roundList []id.Round, timeout time.Duration, - roundCallback network.RoundEventCallback) error + roundCallback cmix.RoundEventCallback) error // queuedPart contains the unique information identifying a file part. type queuedPart struct { diff --git a/fileTransfer/oldTransferRecovery_test.go b/fileTransfer/oldTransferRecovery_test.go index 561785100..dcc51eb6c 100644 --- a/fileTransfer/oldTransferRecovery_test.go +++ b/fileTransfer/oldTransferRecovery_test.go @@ -10,8 +10,8 @@ package fileTransfer import ( "fmt" "github.com/pkg/errors" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/interfaces" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/storage/versioned" ftCrypto "gitlab.com/elixxir/crypto/fileTransfer" "gitlab.com/elixxir/ekv" @@ -77,13 +77,13 @@ func TestManager_oldTransferRecovery(t *testing.T) { // Returns an error on function and round failure on callback if sendErr is // set; otherwise, it reports round successes and returns nil - rr := func(rIDs []id.Round, _ time.Duration, cb network.RoundEventCallback) error { - rounds := make(map[id.Round]network.RoundLookupStatus, len(rIDs)) + rr := func(rIDs []id.Round, _ time.Duration, cb cmix.RoundEventCallback) error { + rounds := make(map[id.Round]cmix.RoundLookupStatus, len(rIDs)) for _, rid := range rIDs { if finishedRounds[rid] != nil { - rounds[rid] = network.Succeeded + rounds[rid] = cmix.Succeeded } else { - rounds[rid] = network.Failed + rounds[rid] = cmix.Failed } } cb(true, false, rounds) @@ -240,13 +240,13 @@ func TestManager_updateSentRounds(t *testing.T) { // Returns an error on function and round failure on callback if sendErr is // set; otherwise, it reports round successes and returns nil - rr := func(rIDs []id.Round, _ time.Duration, cb network.RoundEventCallback) error { - rounds := make(map[id.Round]network.RoundLookupStatus, len(rIDs)) + rr := func(rIDs []id.Round, _ time.Duration, cb cmix.RoundEventCallback) error { + rounds := make(map[id.Round]cmix.RoundLookupStatus, len(rIDs)) for _, rid := range rIDs { if finishedRounds[rid] != nil { - rounds[rid] = network.Succeeded + rounds[rid] = cmix.Succeeded } else { - rounds[rid] = network.Failed + rounds[rid] = cmix.Failed } } cb(true, false, rounds) @@ -322,7 +322,7 @@ func TestManager_updateSentRounds_Error(t *testing.T) { // Returns an error on function and round failure on callback if sendErr is // set; otherwise, it reports round successes and returns nil m.getRoundResults = func( - []id.Round, time.Duration, network.RoundEventCallback) error { + []id.Round, time.Duration, cmix.RoundEventCallback) error { return errors.Errorf("GetRoundResults error") } diff --git a/fileTransfer/send.go b/fileTransfer/send.go index 299db3b0e..4a795336f 100644 --- a/fileTransfer/send.go +++ b/fileTransfer/send.go @@ -12,9 +12,9 @@ import ( "encoding/binary" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/stoppable" ftStorage "gitlab.com/elixxir/client/storage/fileTransfer" ds "gitlab.com/elixxir/comms/network/dataStructures" @@ -418,11 +418,11 @@ func (m *Manager) newCmixMessage(transfer *ftStorage.SentTransfer, // fails, then each part for each transfer is removed from the in-progress list, // added to the end of the sending queue, and the callback called with an error. func (m *Manager) makeRoundEventCallback( - sentRounds map[id.Round][]ftCrypto.TransferID) network.RoundEventCallback { + sentRounds map[id.Round][]ftCrypto.TransferID) cmix.RoundEventCallback { - return func(allSucceeded, timedOut bool, rounds map[id.Round]network.RoundLookupStatus) { + return func(allSucceeded, timedOut bool, rounds map[id.Round]cmix.RoundLookupStatus) { for rid, roundResult := range rounds { - if roundResult == network.Succeeded { + if roundResult == cmix.Succeeded { // If the round succeeded, then set all parts for each transfer // for this round to finished and call the progress callback for _, tid := range sentRounds[rid] { @@ -546,7 +546,7 @@ func (m *Manager) sendEndE2eMessage(recipient *id.ID) error { } // Wait until the result tracking responds - success, numTimeOut, numRoundFail := network.TrackResults( + success, numTimeOut, numRoundFail := cmix.TrackResults( sendResults, len(rounds)) // If a single partition of the end file transfer message does not transmit, diff --git a/fileTransfer/send_test.go b/fileTransfer/send_test.go index 35e1f239a..3572ac7c9 100644 --- a/fileTransfer/send_test.go +++ b/fileTransfer/send_test.go @@ -12,10 +12,10 @@ import ( "errors" "fmt" "github.com/cloudflare/circl/dh/sidh" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network" "gitlab.com/elixxir/client/stoppable" ftStorage "gitlab.com/elixxir/client/storage/fileTransfer" util "gitlab.com/elixxir/client/storage/utility" @@ -382,7 +382,7 @@ func TestManager_sendParts_RoundResultsError(t *testing.T) { grrErr := errors.New("GetRoundResultsError") m.getRoundResults = - func([]id.Round, time.Duration, network.RoundEventCallback) error { + func([]id.Round, time.Duration, cmix.RoundEventCallback) error { return grrErr } @@ -765,7 +765,7 @@ func TestManager_makeRoundEventCallback(t *testing.T) { roundEventCB := m.makeRoundEventCallback( map[id.Round][]ftCrypto.TransferID{rid: {tid}}) - roundEventCB(true, false, map[id.Round]network.RoundLookupStatus{rid: network.Succeeded}) + roundEventCB(true, false, map[id.Round]cmix.RoundLookupStatus{rid: cmix.Succeeded}) <-done1 @@ -853,7 +853,7 @@ func TestManager_makeRoundEventCallback_RoundFailure(t *testing.T) { roundEventCB := m.makeRoundEventCallback( map[id.Round][]ftCrypto.TransferID{rid: {tid}}) - roundEventCB(false, false, map[id.Round]network.RoundLookupStatus{rid: network.Failed}) + roundEventCB(false, false, map[id.Round]cmix.RoundLookupStatus{rid: cmix.Failed}) <-done1 diff --git a/fileTransfer/utils_test.go b/fileTransfer/utils_test.go index 0ea0e5386..3ef8c13da 100644 --- a/fileTransfer/utils_test.go +++ b/fileTransfer/utils_test.go @@ -12,12 +12,12 @@ import ( "encoding/binary" "github.com/cloudflare/circl/dh/sidh" "github.com/pkg/errors" + network2 "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - network2 "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" ftStorage "gitlab.com/elixxir/client/storage/fileTransfer" diff --git a/groupChat/manager.go b/groupChat/manager.go index b903547dd..85f4926ba 100644 --- a/groupChat/manager.go +++ b/groupChat/manager.go @@ -11,10 +11,10 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e" gs "gitlab.com/elixxir/client/groupChat/groupStore" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/elixxir/crypto/fastRNG" @@ -37,14 +37,14 @@ type Manager struct { rng *fastRNG.StreamGenerator grp *cyclic.Group gs *gs.Store - services network.Manager + services cmix.Client requestFunc RequestCallback receiveFunc ReceiveCallback } // NewManager creates a new group chat manager -func NewManager(services network.Manager, e2e e2e.Handler, receptionId *id.ID, +func NewManager(services cmix.Client, e2e e2e.Handler, receptionId *id.ID, rng *fastRNG.StreamGenerator, grp *cyclic.Group, kv *versioned.KV, requestFunc RequestCallback, receiveFunc ReceiveCallback) (*Manager, error) { diff --git a/groupChat/receive.go b/groupChat/receive.go index faf1ddd95..87f8b1d35 100644 --- a/groupChat/receive.go +++ b/groupChat/receive.go @@ -10,9 +10,9 @@ package groupChat import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix/historical" + "gitlab.com/elixxir/client/cmix/identity/receptionID" gs "gitlab.com/elixxir/client/groupChat/groupStore" - "gitlab.com/elixxir/client/network/historical" - "gitlab.com/elixxir/client/network/identity/receptionID" "gitlab.com/elixxir/crypto/group" "gitlab.com/elixxir/primitives/format" "gitlab.com/elixxir/primitives/states" @@ -30,7 +30,7 @@ const ( "cMix message because MAC verification failed (epoch %d could be off)" ) -// Adheres to network.Manager interface for reception processing +// Adheres to cmix.Manager interface for reception processing type receptionProcessor struct { m *Manager g gs.Group diff --git a/groupChat/send.go b/groupChat/send.go index 29761e7ad..f11237aae 100644 --- a/groupChat/send.go +++ b/groupChat/send.go @@ -11,9 +11,9 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" + "gitlab.com/elixxir/client/cmix/message" gs "gitlab.com/elixxir/client/groupChat/groupStore" - "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/network/message" "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/elixxir/crypto/group" "gitlab.com/elixxir/primitives/format" @@ -64,7 +64,7 @@ func (m *Manager) Send(groupID *id.ID, message []byte) (id.Round, time.Time, gro } // Send all the groupMessages - param := network.GetDefaultCMIXParams() + param := cmix.GetDefaultCMIXParams() param.DebugTag = "group.Message" rid, _, err := m.services.SendManyCMIX(groupMessages, param) if err != nil { @@ -79,10 +79,10 @@ func (m *Manager) Send(groupID *id.ID, message []byte) (id.Round, time.Time, gro // newMessages quickly builds messages for all group chat members in multiple threads func (m *Manager) newMessages(g gs.Group, msg []byte, timestamp time.Time) ( - []network.TargetedCmixMessage, error) { + []cmix.TargetedCmixMessage, error) { // Create list of cMix messages - messages := make([]network.TargetedCmixMessage, 0, len(g.Members)) + messages := make([]cmix.TargetedCmixMessage, 0, len(g.Members)) rng := m.rng.GetStream() defer rng.Close() @@ -106,10 +106,10 @@ func (m *Manager) newMessages(g gs.Group, msg []byte, timestamp time.Time) ( // newCmixMsg generates a new cMix message to be sent to a group member. func newCmixMsg(g gs.Group, msg []byte, timestamp time.Time, - mem group.Member, rng io.Reader, senderId *id.ID, grp *cyclic.Group) (network.TargetedCmixMessage, error) { + mem group.Member, rng io.Reader, senderId *id.ID, grp *cyclic.Group) (cmix.TargetedCmixMessage, error) { // Initialize targeted message - cmixMsg := network.TargetedCmixMessage{ + cmixMsg := cmix.TargetedCmixMessage{ Recipient: mem.ID, Service: message.Service{ Identifier: g.ID[:], diff --git a/groupChat/utils_test.go b/groupChat/utils_test.go index b19c697d8..6e76d66e1 100644 --- a/groupChat/utils_test.go +++ b/groupChat/utils_test.go @@ -10,12 +10,12 @@ package groupChat import ( "encoding/base64" "github.com/pkg/errors" + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/event" gs "gitlab.com/elixxir/client/groupChat/groupStore" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/storage/versioned" diff --git a/single/manager.go b/single/manager.go index 65577dca5..c86bb3ed8 100644 --- a/single/manager.go +++ b/single/manager.go @@ -10,9 +10,9 @@ package single import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/api" + "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" - "gitlab.com/elixxir/client/network/identity/receptionID" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/crypto/fastRNG" diff --git a/single/manager_test.go b/single/manager_test.go index 1af9467c0..a7de399c8 100644 --- a/single/manager_test.go +++ b/single/manager_test.go @@ -11,12 +11,12 @@ import ( "bytes" "errors" "gitlab.com/elixxir/client/api" + "gitlab.com/elixxir/client/cmix/gateway" + ephemeral2 "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network/gateway" - ephemeral2 "gitlab.com/elixxir/client/network/identity/receptionID" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/storage/versioned" diff --git a/single/response.go b/single/response.go index 5c3e80abf..9856a9190 100644 --- a/single/response.go +++ b/single/response.go @@ -11,8 +11,8 @@ import ( "bytes" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network" ds "gitlab.com/elixxir/comms/network/dataStructures" cAuth "gitlab.com/elixxir/crypto/e2e/auth" "gitlab.com/elixxir/crypto/e2e/singleUse" @@ -101,7 +101,7 @@ func (m *Manager) respondSingleUse(partner Contact, payload []byte, } // Wait until the result tracking responds - success, numRoundFail, numTimeOut := network.TrackResults(sendResults, len(roundMap)) + success, numRoundFail, numTimeOut := cmix.TrackResults(sendResults, len(roundMap)) if !success { return errors.Errorf("tracking results of %d rounds: %d round "+ "failures, %d round event time outs; the send cannot be retried.", diff --git a/single/transmission.go b/single/transmission.go index 267f04780..715078cf4 100644 --- a/single/transmission.go +++ b/single/transmission.go @@ -11,9 +11,9 @@ import ( "fmt" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + ephemeral2 "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/params" - ephemeral2 "gitlab.com/elixxir/client/network/identity/receptionID" ds "gitlab.com/elixxir/comms/network/dataStructures" contact2 "gitlab.com/elixxir/crypto/contact" "gitlab.com/elixxir/crypto/cyclic" diff --git a/single/transmission_test.go b/single/transmission_test.go index fbd2cf985..5fd81ec1b 100644 --- a/single/transmission_test.go +++ b/single/transmission_test.go @@ -146,7 +146,7 @@ func TestManager_transmitSingleUse_AddIdentityError(t *testing.T) { } } -// Error path: SendCMIX fails to send message. +// Error path: Send fails to send message. func TestManager_transmitSingleUse_SendCMIXError(t *testing.T) { m := newTestManager(0, true, t) partner := contact2.Contact{ diff --git a/ud/utils_test.go b/ud/utils_test.go index 73a55fc59..425d22d9a 100644 --- a/ud/utils_test.go +++ b/ud/utils_test.go @@ -15,11 +15,11 @@ package ud import ( + "gitlab.com/elixxir/client/cmix/gateway" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/params" - "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/comms/network" "gitlab.com/elixxir/crypto/e2e" -- GitLab