func(s*service)call(server*Server,sending*sync.Mutex,mtype*methodType,req*Request,argv,replyvreflect.Value,codecServerCodec){mtype.Lock()mtype.numCalls++mtype.Unlock()function:=mtype.method.Func// Invoke the method, providing a new value for the reply.returnValues:=function.Call([]reflect.Value{s.rcvr,argv,replyv})// The return value for the method is an error.errInter:=returnValues[0].Interface()errmsg:=""iferrInter!=nil{errmsg=errInter.(error).Error()}server.sendResponse(sending,req,replyv.Interface(),codec,errmsg)server.freeRequest(req)}