diff --git a/bindings/client_test.go b/bindings/client_test.go index 059477ba783d9e4fa385d0077cca519586d21cf0..5537028f60297571a42bdfd86542e6ab3847823c 100644 --- a/bindings/client_test.go +++ b/bindings/client_test.go @@ -402,7 +402,7 @@ func TestLoginLogout(t *testing.T) { type MockListener bool -func (m *MockListener) Hear(msg Message, isHeardElsewhere bool) { +func (m *MockListener) Hear(msg Message, isHeardElsewhere bool, i ...interface{}) { *m = true } @@ -442,6 +442,7 @@ func TestListen(t *testing.T) { Sender: id.ZeroID, Receiver: client.client.GetCurrentUser(), }) + time.Sleep(time.Second) if !listener { t.Error("Message not received") } diff --git a/bindings/interfaces.go b/bindings/interfaces.go index 6b60841eb2ba4374c2d8e548f066dd8fc9bb74e3..88ea9ad7fc85743d066bb2e68a5da0b4b0a7f8de 100644 --- a/bindings/interfaces.go +++ b/bindings/interfaces.go @@ -60,7 +60,7 @@ type storageProxy struct { // gets a message of the type that the registerer specified at registration // time. type Listener interface { - Hear(msg Message, isHeardElsewhere bool) + Hear(msg Message, isHeardElsewhere bool, i ...interface{}) } // Translate a bindings listener to a switchboard listener @@ -70,9 +70,9 @@ type listenerProxy struct { proxy Listener } -func (lp *listenerProxy) Hear(msg switchboard.Item, isHeardElsewhere bool) { +func (lp *listenerProxy) Hear(msg switchboard.Item, isHeardElsewhere bool, i ...interface{}) { msgInterface := &parse.BindingsMessageProxy{Proxy: msg.(*parse.Message)} - lp.proxy.Hear(msgInterface, isHeardElsewhere) + lp.proxy.Hear(msgInterface, isHeardElsewhere, i) } // Interface used to receive a callback on searching for a user diff --git a/bots/bots.go b/bots/bots.go index 8433deeb1c51ce460c30e4eebf005f33e3cb5c0d..b40537aa4beba5ad0f60caa04fff2a2ab57e600b 100644 --- a/bots/bots.go +++ b/bots/bots.go @@ -21,7 +21,7 @@ var UdbID *id.User type channelResponseListener chan string -func (l *channelResponseListener) Hear(msg switchboard.Item, isHeardElsewhere bool) { +func (l *channelResponseListener) Hear(msg switchboard.Item, isHeardElsewhere bool, i ...interface{}) { m := msg.(*parse.Message) *l <- string(m.Body) } @@ -36,7 +36,7 @@ var nicknameResponseListener channelResponseListener type nickReqListener struct{} // Nickname listener simply replies with message containing user's nick -func (l *nickReqListener) Hear(msg switchboard.Item, isHeardElsewhere bool) { +func (l *nickReqListener) Hear(msg switchboard.Item, isHeardElsewhere bool, i ...interface{}) { m := msg.(*parse.Message) nick := session.GetCurrentUser().Username resp := parse.Pack(&parse.TypedBody{ diff --git a/cmd/root.go b/cmd/root.go index f08c5310bee4999a0be299ce97184ad47a6f6ace..a6fa1266df87df67f5c8c8c16bbdd29cb298269b 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -298,7 +298,7 @@ type FallbackListener struct { MessagesReceived int64 } -func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) { +func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool, i ...interface{}) { if !isHeardElsewhere { message := item.(*parse.Message) sender, ok := user.Users.GetUser(message.Sender) @@ -319,7 +319,7 @@ type TextListener struct { MessagesReceived int64 } -func (l *TextListener) Hear(item switchboard.Item, isHeardElsewhere bool) { +func (l *TextListener) Hear(item switchboard.Item, isHeardElsewhere bool, i ...interface{}) { message := item.(*parse.Message) globals.Log.INFO.Println("Hearing a text message") result := cmixproto.TextMessage{} diff --git a/go.mod b/go.mod index 0c8b19111dc2a5e06e526432040f9e0d08cf14b9..bff70d2eb577101eda11cb918ce6ab3c2016de3c 100644 --- a/go.mod +++ b/go.mod @@ -16,9 +16,9 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.6.1 - gitlab.com/elixxir/comms v0.0.0-20200108001710-b5feabd13539 + gitlab.com/elixxir/comms v0.0.0-20200108181118-c0b7fae36425 gitlab.com/elixxir/crypto v0.0.0-20200108005412-8159c60663f9 - gitlab.com/elixxir/primitives v0.0.0-20200107180006-ed32faae3625 + gitlab.com/elixxir/primitives v0.0.0-20200108174340-0922447aec92 golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876 golang.org/x/sys v0.0.0-20200107162124-548cf772de50 // indirect gopkg.in/ini.v1 v1.51.1 // indirect diff --git a/go.sum b/go.sum index d0d6dc68d1c99f52447723a12c9cf625b70e6653..6993361b5add8582d97d26d772d84c0feb5531c0 100644 --- a/go.sum +++ b/go.sum @@ -224,8 +224,8 @@ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGr github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -gitlab.com/elixxir/comms v0.0.0-20200108001710-b5feabd13539 h1:LlC7HOZZhY+glXXSDImoOGGJkIN1nEvXWhQ+9gw17II= -gitlab.com/elixxir/comms v0.0.0-20200108001710-b5feabd13539/go.mod h1:DblaR0msnWpNGzNK2fXvXbfGZQNPH4KPiBl4YkkGF4Y= +gitlab.com/elixxir/comms v0.0.0-20200108181118-c0b7fae36425 h1:k3XivtPenqSFGDd+1UyFef8kpQVh1Wi9NPQwxHXElDo= +gitlab.com/elixxir/comms v0.0.0-20200108181118-c0b7fae36425/go.mod h1:DblaR0msnWpNGzNK2fXvXbfGZQNPH4KPiBl4YkkGF4Y= gitlab.com/elixxir/crypto v0.0.0-20191121235352-86d305a9b253 h1:BqgqJ0mLANRjhAFLvGAcB5AWdgAnFZhsGx0qTk5G+3Y= gitlab.com/elixxir/crypto v0.0.0-20191121235352-86d305a9b253/go.mod h1:+46Zj/NE6JEkXExYnzdvvDokPpDbA+fJsRszvrezK9k= gitlab.com/elixxir/crypto v0.0.0-20200108005412-8159c60663f9 h1:MJ87g3yMIvA9MTDMojuqaw1tCxU6LIKzxMaH3oEiP4M= @@ -233,8 +233,8 @@ gitlab.com/elixxir/crypto v0.0.0-20200108005412-8159c60663f9/go.mod h1:+46Zj/NE6 gitlab.com/elixxir/primitives v0.0.0-20191028233752-882c08b8f095 h1:fnRh0PUwgy0qlWM7xMdk2w5MXh7gvQ0v/xyedn2gbcY= gitlab.com/elixxir/primitives v0.0.0-20191028233752-882c08b8f095/go.mod h1:+UiRRWzNpl/WoWUuQtJSoimfXImJAJ5lrrmg0pQKY3g= gitlab.com/elixxir/primitives v0.0.0-20200106183011-a68f1e6f188e/go.mod h1:g9v3S34ZUeqGRiOTV7esByK8a5TovJ3YgTv/328ny6w= -gitlab.com/elixxir/primitives v0.0.0-20200107180006-ed32faae3625 h1:zkCgjA9/OkL0kgufYeK1nLJlLJZJY9ANJ8IEgd7B0eQ= -gitlab.com/elixxir/primitives v0.0.0-20200107180006-ed32faae3625/go.mod h1:g9v3S34ZUeqGRiOTV7esByK8a5TovJ3YgTv/328ny6w= +gitlab.com/elixxir/primitives v0.0.0-20200108174340-0922447aec92 h1:2+gzW9Fy2JIaKlirX+db4+X+Pip36Dt6Z5fC1XYF958= +gitlab.com/elixxir/primitives v0.0.0-20200108174340-0922447aec92/go.mod h1:g9v3S34ZUeqGRiOTV7esByK8a5TovJ3YgTv/328ny6w= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= diff --git a/rekey/rekey.go b/rekey/rekey.go index c0f60a59d65f5a09d5d34d0eda50e3ffeb47b542..c67d42a8ec215cb4fba3930c7c794d9e21e0b33e 100644 --- a/rekey/rekey.go +++ b/rekey/rekey.go @@ -34,7 +34,7 @@ type rekeyTriggerListener struct { err error } -func (l *rekeyTriggerListener) Hear(msg switchboard.Item, isHeardElsewhere bool) { +func (l *rekeyTriggerListener) Hear(msg switchboard.Item, isHeardElsewhere bool, i ...interface{}) { m := msg.(*parse.Message) partner := m.GetRecipient() globals.Log.DEBUG.Printf("Received RekeyTrigger message for user %v", *partner) @@ -51,7 +51,7 @@ type rekeyListener struct { err error } -func (l *rekeyListener) Hear(msg switchboard.Item, isHeardElsewhere bool) { +func (l *rekeyListener) Hear(msg switchboard.Item, isHeardElsewhere bool, i ...interface{}) { m := msg.(*parse.Message) partner := m.GetSender() partnerPubKey := m.GetPayload() @@ -73,7 +73,7 @@ type rekeyConfirmListener struct { err error } -func (l *rekeyConfirmListener) Hear(msg switchboard.Item, isHeardElsewhere bool) { +func (l *rekeyConfirmListener) Hear(msg switchboard.Item, isHeardElsewhere bool, i ...interface{}) { m := msg.(*parse.Message) partner := m.GetSender() baseKeyHash := m.GetPayload() diff --git a/rekey/rekey_test.go b/rekey/rekey_test.go index 603db5645313817b19b0b919346e744c62d682ff..c0767b8ea56c36aebbd87dff228abbf77f324019 100644 --- a/rekey/rekey_test.go +++ b/rekey/rekey_test.go @@ -176,7 +176,7 @@ func TestRekeyTrigger(t *testing.T) { Receiver: partnerID, } session.GetSwitchboard().Speak(msg) - + time.Sleep(time.Second) // Check that error occurred in rekeytrigger for repeated message if rekeyTriggerList.err == nil { t.Errorf("RekeyTrigger should have returned error") @@ -199,7 +199,7 @@ func TestRekeyConfirm(t *testing.T) { Receiver: session.GetCurrentUser().User, } session.GetSwitchboard().Speak(msg) - + time.Sleep(time.Second) // Check that error occurred in RekeyConfirm when hash is wrong if rekeyConfirmList.err == nil { t.Errorf("RekeyConfirm should have returned error") @@ -218,7 +218,7 @@ func TestRekeyConfirm(t *testing.T) { Receiver: session.GetCurrentUser().User, } session.GetSwitchboard().Speak(msg) - + time.Sleep(time.Second) // Check no error occurred in rekeyConfirm processing if rekeyConfirmList.err != nil { t.Errorf("RekeyConfirm returned error: %v", rekeyConfirmList.err.Error()) @@ -244,7 +244,7 @@ func TestRekeyConfirm(t *testing.T) { Receiver: session.GetCurrentUser().User, } session.GetSwitchboard().Speak(msg) - + time.Sleep(time.Second) // Check that error occurred in RekeyConfirm for repeated message if rekeyConfirmList.err == nil { t.Errorf("RekeyConfirm should have returned error") @@ -345,7 +345,7 @@ func TestRekey_Errors(t *testing.T) { Receiver: session.GetCurrentUser().User, } session.GetSwitchboard().Speak(msg) - + time.Sleep(time.Second) // Check error occurred on Rekey if rekeyList.err == nil { t.Errorf("Rekey should have returned error")