Skip to content
Snippets Groups Projects
Commit 18ac3dba authored by Rick Carback's avatar Rick Carback
Browse files

Add a real timeout, wait for a message then exit

parent 13b52739
Branches
Tags
No related merge requests found
...@@ -239,7 +239,7 @@ func setKeyParams(client *api.Client) { ...@@ -239,7 +239,7 @@ func setKeyParams(client *api.Client) {
} }
type FallbackListener struct { type FallbackListener struct {
messagesReceived int64 MessagesReceived int64
} }
func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) { func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) {
...@@ -252,7 +252,7 @@ func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) { ...@@ -252,7 +252,7 @@ func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) {
} else { } else {
senderNick = sender.Nick senderNick = sender.Nick
} }
atomic.AddInt64(&l.messagesReceived, 1) atomic.AddInt64(&l.MessagesReceived, 1)
globals.Log.INFO.Printf("Message of type %v from %q, %v received with fallback: %s\n", globals.Log.INFO.Printf("Message of type %v from %q, %v received with fallback: %s\n",
message.MessageType, *message.Sender, senderNick, message.MessageType, *message.Sender, senderNick,
string(message.Body)) string(message.Body))
...@@ -260,7 +260,7 @@ func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) { ...@@ -260,7 +260,7 @@ func (l *FallbackListener) Hear(item switchboard.Item, isHeardElsewhere bool) {
} }
type TextListener struct { type TextListener struct {
messagesReceived int64 MessagesReceived int64
} }
func (l *TextListener) Hear(item switchboard.Item, isHeardElsewhere bool) { func (l *TextListener) Hear(item switchboard.Item, isHeardElsewhere bool) {
...@@ -286,11 +286,11 @@ func (l *TextListener) Hear(item switchboard.Item, isHeardElsewhere bool) { ...@@ -286,11 +286,11 @@ func (l *TextListener) Hear(item switchboard.Item, isHeardElsewhere bool) {
globals.Log.INFO.Printf("Message from %v, %v Received: %s\n", large.NewIntFromBytes(message.Sender[:]).Text(10), globals.Log.INFO.Printf("Message from %v, %v Received: %s\n", large.NewIntFromBytes(message.Sender[:]).Text(10),
senderNick, result.Message) senderNick, result.Message)
atomic.AddInt64(&l.messagesReceived, 1) atomic.AddInt64(&l.MessagesReceived, 1)
} }
type ChannelListener struct { type ChannelListener struct {
messagesReceived int64 MessagesReceived int64
} }
//used to get the client object into hear //used to get the client object into hear
...@@ -324,7 +324,7 @@ func (l *ChannelListener) Hear(item switchboard.Item, isHeardElsewhere bool) { ...@@ -324,7 +324,7 @@ func (l *ChannelListener) Hear(item switchboard.Item, isHeardElsewhere bool) {
Sender: speakerId, Sender: speakerId,
Receiver: id.ZeroID, Receiver: id.ZeroID,
}) })
atomic.AddInt64(&l.messagesReceived, 1) atomic.AddInt64(&l.MessagesReceived, 1)
} }
// rootCmd represents the base command when called without any subcommands // rootCmd represents the base command when called without any subcommands
...@@ -444,10 +444,18 @@ var rootCmd = &cobra.Command{ ...@@ -444,10 +444,18 @@ var rootCmd = &cobra.Command{
timer = time.NewTimer(dummyPeriod) timer = time.NewTimer(dummyPeriod)
} }
} else { } else {
// wait 45 seconds since UDB commands are now non-blocking // Wait up to 45 seconds to receive a message
// TODO figure out the right way to do this for timeout := time.After(45 * time.Second); ; {
timer = time.NewTimer(45 * time.Second) if text.MessagesReceived > 0 {
<-timer.C break
}
select {
case <-timeout:
break
default:
}
}
} }
//Logout //Logout
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment