Back to Hhvm

GetResultName

hphp/hack/manual/apis/Classes/MCRouter/getResultName.md

latest4.1 KB
Original Source

:::info[Note] This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information. :::

Translate an mc_res_* numeric code to something human-readable

Hack
public static function getResultName(
  int $op,
): string;

Parameters

  • int $op

Returns

  • string - - The name of the result

Examples

The following example shows how to use MCRouter::getResultName to get the English readable name for an MCRouter result given as an integer.

Here is the list of the current mappings:

IntegerConstantString
0MCRouter::mc_res_unknownmc_res_unknown
1MCRouter::mc_res_deletedmc_res_deleted
2MCRouter::mc_res_foundmc_res_found
3MCRouter::mc_res_foundstalemc_res_foundstale
4MCRouter::mc_res_notfoundmc_res_notfound
5MCRouter::mc_res_notfoundhotmc_res_notfoundhot
6MCRouter::mc_res_notstoredmc_res_notstored
7MCRouter::mc_res_stalestoredmc_res_stalestored
8MCRouter::mc_res_okmc_res_ok
9MCRouter::mc_res_storedmc_res_stored
10MCRouter::mc_res_existsmc_res_exists
11MCRouter::mc_res_ooomc_res_ooo
12MCRouter::mc_res_timeoutmc_res_timeout
13MCRouter::mc_res_connect_timeoutmc_res_connect_timeout
14MCRouter::mc_res_connect_errormc_res_connect_error
15MCRouter::mc_res_busymc_res_busy
16MCRouter::mc_res_try_againmc_res_try_again
17MCRouter::mc_res_shutdownmc_res_shutdown
18MCRouter::mc_res_tkomc_res_tko
19MCRouter::mc_res_bad_commandmc_res_bad_command
20MCRouter::mc_res_bad_keymc_res_bad_key
21MCRouter::mc_res_bad_flagsmc_res_bad_flags
22MCRouter::mc_res_bad_exptimemc_res_bad_exptime
23MCRouter::mc_res_bad_lease_idmc_res_bad_lease_id
24MCRouter::mc_res_bad_cas_idmc_res_bad_cas_id
25MCRouter::mc_res_bad_valuemc_res_bad_value
26MCRouter::mc_res_abortedmc_res_aborted
27MCRouter::mc_res_client_errormc_res_client_error
28MCRouter::mc_res_local_errormc_res_local_error
29MCRouter::mc_res_remote_errormc_res_remote_error
30MCRouter::mc_res_waitingmc_res_waiting
31MCRouter::mc_nresmc_nres
basic-usage.hack
function get_simple_mcrouter(): \MCRouter {
  $servers = Vector {\getenv('HHVM_TEST_MCROUTER')};
  $mc = \MCRouter::createSimple($servers);
  return $mc;
}

function get_res_name(int $res_num): string {
  return \MCRouter::getResultName($res_num);
}

<<__EntryPoint>>
async function run(): Awaitable<void> {
  $mc = get_simple_mcrouter();

  // You can pass raw integers
  \var_dump(get_res_name(3));
  \var_dump(get_res_name(9));
  \var_dump(get_res_name(-1));
  \var_dump(get_res_name(0));
  \var_dump(get_res_name(100));

  // You can pass MCRouter constants
  \var_dump(get_res_name(\MCRouter::mc_res_timeout));
  \var_dump(get_res_name(\MCRouter::mc_res_bad_flags));
  \var_dump(get_res_name(\MCRouter::mc_res_local_error));

  // You can pass something from an exception too
  try {
    $val = await $mc->get('KEYDOESNOTEXISTIHOPEREALLY');
  } catch (\MCRouterException $ex) {
    \var_dump($ex->getCode());
    \var_dump(get_res_name($ex->getCode()));
  }
}
```.hhvm.expectf
string(17) "mc_res_foundstale"
string(13) "mc_res_stored"
string(14) "mc_res_unknown"
string(14) "mc_res_unknown"
string(14) "mc_res_unknown"
string(14) "mc_res_timeout"
string(16) "mc_res_bad_flags"
string(18) "mc_res_local_error"
int(4)
string(15) "mc_res_notfound"
```.example.hhvm.out
string(17) "mc_res_foundstale"
string(13) "mc_res_stored"
string(14) "mc_res_unknown"
string(14) "mc_res_unknown"
string(14) "mc_res_unknown"
string(14) "mc_res_timeout"
string(16) "mc_res_bad_flags"
string(18) "mc_res_local_error"
int(4)
string(15) "mc_res_notfound"
```.skipif
\Hack\UserDocumentation\API\Examples\MCRouter\skipif();
<!-- HHAPIDOC -->