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