mirror of https://github.com/docker/docs.git
Merge pull request #93 from shykes/pr_out_fix_debug_after_switch_to_libchan
This commit is contained in:
commit
2f3ab83188
|
@ -0,0 +1,30 @@
|
||||||
|
package beam
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/docker/libchan"
|
||||||
|
"io"
|
||||||
|
)
|
||||||
|
|
||||||
|
type NopSender struct{}
|
||||||
|
|
||||||
|
func (s NopSender) Send(msg *Message) (Receiver, error) {
|
||||||
|
return NopReceiver{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s NopSender) Close() error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s NopSender) Unwrap() libchan.Sender {
|
||||||
|
return libchan.NopSender{}
|
||||||
|
}
|
||||||
|
|
||||||
|
type NopReceiver struct{}
|
||||||
|
|
||||||
|
func (r NopReceiver) Receive(mode int) (*Message, error) {
|
||||||
|
return nil, io.EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r NopReceiver) Unwrap() libchan.Receiver {
|
||||||
|
return libchan.NopReceiver{}
|
||||||
|
}
|
|
@ -77,7 +77,7 @@ func (dbg *debug) catchall(msg *beam.Message) (err error) {
|
||||||
Args: msg.Args,
|
Args: msg.Args,
|
||||||
Att: msg.Att,
|
Att: msg.Att,
|
||||||
Ret: &replyHandler{
|
Ret: &replyHandler{
|
||||||
out: msg.Ret,
|
Sender: msg.Ret,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,16 +93,16 @@ func (dbg *debug) catchall(msg *beam.Message) (err error) {
|
||||||
// We use a replyHandler to provide context for relaying the return channel
|
// We use a replyHandler to provide context for relaying the return channel
|
||||||
// of the origin message.
|
// of the origin message.
|
||||||
type replyHandler struct {
|
type replyHandler struct {
|
||||||
out beam.Sender
|
beam.Sender
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send a message using the out channel
|
// Send a message using the out channel
|
||||||
func (rh *replyHandler) Send(msg *beam.Message) (receiver beam.Receiver, err error) {
|
func (rh *replyHandler) Send(msg *beam.Message) (receiver beam.Receiver, err error) {
|
||||||
log.Printf("[debug] <--- Downstream Message { Verb: %s, Args: %v }\n", msg.Verb, msg.Args)
|
log.Printf("[debug] <--- Downstream Message { Verb: %s, Args: %v }\n", msg.Verb, msg.Args)
|
||||||
return nil, forward(rh.out, msg)
|
return nil, forward(rh.Sender, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rh *replyHandler) Close() (err error) {
|
func (rh *replyHandler) Close() (err error) {
|
||||||
// Since we don't allow the downstream handler to close the return channel, we do so here.
|
// Since we don't allow the downstream handler to close the return channel, we do so here.
|
||||||
return rh.out.Close()
|
return rh.Sender.Close()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue