refMethod method
Implementation
Reference refMethod(Environ env, MPI rm, String name, Introspector method) {
final mm = method.annotation<MPI>();
final ref = Reference();
ref.version = anyone([rm.version, mm?.version]);
ref.proto = anyone([rm.proto, mm?.proto, Flags.grpc.name]);
ref.codec = anyone([rm.codec, mm?.codec, Flags.json.name]);
ref.mdc = anyone([rm.idc, mm?.idc, env.mdc]);
ref.zone = anyone([rm.zone, mm?.zone, env.lattice?.zone]);
ref.cluster = anyone([rm.cluster, mm?.cluster, env.lattice?.cluster]);
ref.cell = anyone([rm.cell, mm?.cell, env.lattice?.cell]);
ref.group = anyone([rm.group, mm?.group, env.lattice?.group]);
ref.address = anyone([rm.address, mm?.address, env.lattice?.address]);
ref.namespace = method.kind().toString();
ref.name = name;
ref.flags = anyone([rm.flags, mm?.flags, 0]);
ref.timeout = anyone([rm.timeout, mm?.timeout, 12000]);
ref.retries = anyone([rm.retries, mm?.retries, 3]);
ref.urn = makeURN(mm?.name ?? '', makeFlag(ref), env);
return ref;
}