From cea80688f6c825c3612b619b023ffe940693a4e4 Mon Sep 17 00:00:00 2001 From: "Richard T. Carback III" <rick.carback@gmail.com> Date: Fri, 27 Aug 2021 18:25:02 +0000 Subject: [PATCH] Add event reports for user discovery --- single/receiveResponse.go | 15 +++++++++++++-- single/transmission.go | 12 +++++++++--- ud/register.go | 5 +++++ ud/search.go | 13 +++++++++++++ 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/single/receiveResponse.go b/single/receiveResponse.go index 6a6fa94fd..831b25b35 100644 --- a/single/receiveResponse.go +++ b/single/receiveResponse.go @@ -8,6 +8,7 @@ package single import ( + "fmt" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/interfaces/message" @@ -37,8 +38,13 @@ func (m *Manager) receiveResponseHandler(rawMessages chan message.Receive, // Process CMIX message err := m.processesResponse(msg.RecipientID, msg.EphemeralID, msg.Payload) if err != nil { - jww.WARN.Printf("Failed to read single-use CMIX message "+ - "response: %+v", err) + em := fmt.Sprintf("Failed to read single-use "+ + "CMIX message response: %+v", err) + jww.WARN.Print(em) + if m.client != nil { + m.client.ReportEvent(9, "SingleUse", + "Error", em) + } } } } @@ -89,6 +95,11 @@ func (m *Manager) processesResponse(rid *id.ID, ephID ephemeral.Id, // Once all message parts have been received delete and close everything if collated { + if m.client != nil { + m.client.ReportEvent(1, "SingleUse", "MessageReceived", + fmt.Sprintf("Single use response received "+ + "from %s", rid)) + } jww.DEBUG.Print("Received all parts of single-use response message.") // Exit the timeout handler state.quitChan <- struct{}{} diff --git a/single/transmission.go b/single/transmission.go index a6ceed465..25cd73276 100644 --- a/single/transmission.go +++ b/single/transmission.go @@ -113,7 +113,8 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, go func() { // Send Message - jww.DEBUG.Printf("Sending single-use transmission CMIX message to %s.", partner.ID) + jww.DEBUG.Printf("Sending single-use transmission CMIX "+ + "message to %s.", partner.ID) round, _, err := m.net.SendCMIX(cmixMsg, partner.ID, params.GetDefaultCMIX()) if err != nil { errorString := fmt.Sprintf("failed to send single-use transmission "+ @@ -144,8 +145,13 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, roundEvents.AddRoundEventChan(round, sendResults, roundEventTimeout, states.COMPLETED, states.FAILED) - jww.DEBUG.Printf("Sent single-use transmission CMIX message to %s and "+ - "ephemeral ID %d on round %d.", partner.ID, ephID.Int64(), round) + im := fmt.Sprintf("Sent single-use transmission CMIX "+ + "message to %s and ephemeral ID %d on round %d.", + partner.ID, ephID.Int64(), round) + jww.DEBUG.Print(im) + if m.client != nil { + m.client.ReportEvent(1, "SingleUse", "MessageSend", im) + } // Wait until the result tracking responds success, numRoundFail, numTimeOut := utility.TrackResults(sendResults, 1) diff --git a/ud/register.go b/ud/register.go index b46f99a09..4fe9e2d67 100644 --- a/ud/register.go +++ b/ud/register.go @@ -1,6 +1,7 @@ package ud import ( + "fmt" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" pb "gitlab.com/elixxir/comms/mixmessages" @@ -85,6 +86,10 @@ func (m *Manager) register(username string, comm registerUserComms) error { if err == nil { err = m.setRegistered() + if m.client != nil { + m.client.ReportEvent(1, "UserDiscovery", "Registration", + fmt.Sprintf("User Registered with UD: %s", user)) + } } return err diff --git a/ud/search.go b/ud/search.go index 86a19551b..410012348 100644 --- a/ud/search.go +++ b/ud/search.go @@ -1,6 +1,7 @@ package ud import ( + "fmt" "github.com/golang/protobuf/proto" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" @@ -50,11 +51,17 @@ func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout ti return errors.WithMessage(err, "Failed to transmit search request.") } + if m.client != nil { + m.client.ReportEvent(1, "UserDiscovery", "SearchRequest", + fmt.Sprintf("Sent: %+v", request)) + } + return nil } func (m *Manager) searchResponseHandler(factMap map[string]fact.Fact, callback searchCallback, payload []byte, err error) { + if err != nil { go callback(nil, errors.WithMessage(err, "Failed to search.")) return @@ -66,6 +73,12 @@ func (m *Manager) searchResponseHandler(factMap map[string]fact.Fact, jww.WARN.Printf("Dropped a search response from user discovery due to "+ "failed unmarshal: %s", err) } + + if m.client != nil { + m.client.ReportEvent(1, "UserDiscovery", "SearchResponse", + fmt.Sprintf("Received: %+v", searchResponse)) + } + if searchResponse.Error != "" { err = errors.Errorf("User Discovery returned an error on search: %s", searchResponse.Error) -- GitLab