diff --git a/common/constant/default.go b/common/constant/default.go index ed947d5ce0b9078666c7ce4e4ab53d09d9ad1a12..c0c68170e225998cc88941161ec27ae99e1cbb78 100644 --- a/common/constant/default.go +++ b/common/constant/default.go @@ -12,5 +12,5 @@ const ( ) const ( - ECHO = "$echo" + ECHO = "Echo" ) diff --git a/common/proxy/proxy.go b/common/proxy/proxy.go index b157b360ba000367e0fc2c0382689e1862095ed4..b9377286507def555f1ac39f2a764e5399c8324d 100644 --- a/common/proxy/proxy.go +++ b/common/proxy/proxy.go @@ -32,6 +32,10 @@ func NewProxy(invoke protocol.Invoker, callBack interface{}, attachments map[str } // proxy implement +// In consumer, RPCService like: +// type XxxProvider struct { +// Yyy func(ctx context.Context, args []interface{}, rsp *Zzz) error +// } func (p *Proxy) Implement(v config.RPCService) error { // check parameters, incoming interface must be a elem's pointer. diff --git a/filter/imp/echo_filter.go b/filter/imp/echo_filter.go index b4803e03ffdec820681a9f82d5efe0eec3ca6320..3ddff24c8f1b823a0b5d2520f771e5366eab9814 100644 --- a/filter/imp/echo_filter.go +++ b/filter/imp/echo_filter.go @@ -1,5 +1,9 @@ package imp +import ( + log "github.com/AlexStocks/log4go" +) + import ( "github.com/dubbo/dubbo-go/common/constant" "github.com/dubbo/dubbo-go/common/extension" @@ -13,11 +17,14 @@ func init() { extension.SetFilter(ECHO, GetFilter) } +// RPCService need a Echo method in consumer, if you want to use EchoFilter +// eg: +// Echo func(ctx context.Context, args []interface{}, rsp *Xxx) error type EchoFilter struct { } func (ef *EchoFilter) Invoke(invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result { - + log.Info("invoking echo filter.") if invocation.MethodName() == constant.ECHO && len(invocation.Arguments()) == 1 { return &protocol.RPCResult{ Rest: invocation.Arguments()[0],