Merge pull request #13 from shykes/pr_out_fix_hub_and_stacksender_to_honor_modes

This commit is contained in:
Solomon Hykes 2014-05-30 19:36:39 -07:00
commit 36b9bf7958
2 changed files with 10 additions and 4 deletions

View File

@ -9,11 +9,17 @@ import (
func TestHubSendEmpty(t *testing.T) {
hub := NewHub()
// Send to empty hub should silently drop
if r, w, err := hub.Send(&beam.Message{Name: "hello", Args: nil}, beam.R|beam.W); err != nil {
r, w, err := hub.Send(&beam.Message{Name: "hello", Args: nil}, beam.R|beam.W)
// Send must not return an error
if err != nil {
t.Fatal(err)
} else if r != nil {
}
// We set beam.R, so a valid receiver must be returned
if r == nil {
t.Fatalf("%#v", r)
} else if w != nil {
}
// We set beam.W, so a valid receiver must be returned
if w == nil {
t.Fatalf("%#v", w)
}
}

View File

@ -38,7 +38,7 @@ func (s *StackSender) Send(msg *beam.Message, mode int) (r beam.Receiver, w beam
return r, w, err
}
// Silently drop messages if no valid backend is available.
return nil, nil, nil
return NopSender{}.Send(msg, mode)
}
func (s *StackSender) Add(dst beam.Sender) *StackSender {