]> Cypherpunks repositories - gostls13.git/commitdiff
net/rpc: improve error report messages
authorKunpei Sakai <namusyaka@gmail.com>
Wed, 10 Jan 2018 23:45:03 +0000 (08:45 +0900)
committerRob Pike <r@golang.org>
Mon, 15 Jan 2018 01:31:35 +0000 (01:31 +0000)
Updates #19957

Change-Id: I8e2e3837db9e5e69b7102f9bd5831fe78ac60cfc
Reviewed-on: https://go-review.googlesource.com/87335
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
src/net/rpc/server.go

index a0212926037cd8e7c7f9c0e072d92cafee7a2372..96e6973c3a2e710591be25e01b124a73028e2fa9 100644 (file)
@@ -296,7 +296,7 @@ func suitableMethods(typ reflect.Type, reportErr bool) map[string]*methodType {
                // Method needs three ins: receiver, *args, *reply.
                if mtype.NumIn() != 3 {
                        if reportErr {
-                               log.Println("method", mname, "has wrong number of ins:", mtype.NumIn())
+                               log.Printf("rpc.Register: method %q has %d input parameters; needs exactly three\n", mname, mtype.NumIn())
                        }
                        continue
                }
@@ -304,7 +304,7 @@ func suitableMethods(typ reflect.Type, reportErr bool) map[string]*methodType {
                argType := mtype.In(1)
                if !isExportedOrBuiltinType(argType) {
                        if reportErr {
-                               log.Println(mname, "argument type not exported:", argType)
+                               log.Printf("rpc.Register: argument type of method %q is not exported: %q\n", mname, argType)
                        }
                        continue
                }
@@ -312,28 +312,28 @@ func suitableMethods(typ reflect.Type, reportErr bool) map[string]*methodType {
                replyType := mtype.In(2)
                if replyType.Kind() != reflect.Ptr {
                        if reportErr {
-                               log.Println("method", mname, "reply type not a pointer:", replyType)
+                               log.Printf("rpc.Register: reply type of method %q is not a pointer: %q\n", mname, replyType)
                        }
                        continue
                }
                // Reply type must be exported.
                if !isExportedOrBuiltinType(replyType) {
                        if reportErr {
-                               log.Println("method", mname, "reply type not exported:", replyType)
+                               log.Printf("rpc.Register: reply type of method %q is not exported: %q\n", mname, replyType)
                        }
                        continue
                }
                // Method needs one out.
                if mtype.NumOut() != 1 {
                        if reportErr {
-                               log.Println("method", mname, "has wrong number of outs:", mtype.NumOut())
+                               log.Printf("rpc.Register: method %q has %d output parameters; needs exactly one\n", mname, mtype.NumOut())
                        }
                        continue
                }
                // The return type of the method must be error.
                if returnType := mtype.Out(0); returnType != typeOfError {
                        if reportErr {
-                               log.Println("method", mname, "returns", returnType.String(), "not error")
+                               log.Printf("rpc.Register: return type of method %q is %q, must be error\n", mname, returnType)
                        }
                        continue
                }