mirror of https://github.com/docker/docs.git
Fix Hub and StackSender to honor modes
StackSender.Send and Hub.Send now return a valid Sender and Receiver when the corresponding flags are set in `mode`. Signed-off-by: Solomon Hykes <solomon@docker.com>
This commit is contained in:
parent
e4beab1432
commit
2b547caa75
|
@ -9,11 +9,17 @@ import (
|
||||||
func TestHubSendEmpty(t *testing.T) {
|
func TestHubSendEmpty(t *testing.T) {
|
||||||
hub := NewHub()
|
hub := NewHub()
|
||||||
// Send to empty hub should silently drop
|
// 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)
|
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)
|
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)
|
t.Fatalf("%#v", w)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ func (s *StackSender) Send(msg *beam.Message, mode int) (r beam.Receiver, w beam
|
||||||
return r, w, err
|
return r, w, err
|
||||||
}
|
}
|
||||||
// Silently drop messages if no valid backend is available.
|
// 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 {
|
func (s *StackSender) Add(dst beam.Sender) *StackSender {
|
||||||
|
|
Loading…
Reference in New Issue