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) {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue