Пример #1
0
mccp_result_t
mccp_hashmap_statistics(mccp_hashmap_t *hmptr, const char **msgptr) {
  mccp_result_t ret = MCCP_RESULT_ANY_FAILURES;

  if (hmptr != NULL &&
      *hmptr != NULL &&
      msgptr != NULL) {

    *msgptr = NULL;

    s_read_lock(*hmptr);
    {
      if ((*hmptr)->m_is_operational == true) {
        *msgptr = (const char *)HashStats(&((*hmptr)->m_hashtable));
        if (*msgptr != NULL) {
          ret = MCCP_RESULT_OK;
        } else {
          ret = MCCP_RESULT_NO_MEMORY;
        }
      } else {
        ret = MCCP_RESULT_NOT_OPERATIONAL;
      }
    }
    s_unlock(*hmptr);

  } else {
    ret = MCCP_RESULT_INVALID_ARGS;
  }

  return ret;
}
Пример #2
0
mccp_result_t
mccp_hashmap_find(mccp_hashmap_t *hmptr, void *key, void **valptr) {
  mccp_result_t ret = MCCP_RESULT_ANY_FAILURES;

  if (hmptr != NULL &&
      *hmptr != NULL &&
      valptr != NULL) {

    s_read_lock(*hmptr);
    {
      ret = s_find(hmptr, key, valptr);
    }
    s_unlock(*hmptr);

  } else {
    ret = MCCP_RESULT_INVALID_ARGS;
  }

  return ret;
}
Пример #3
0
lagopus_result_t
lagopus_hashmap_find(lagopus_hashmap_t *hmptr, void *key, void **valptr) {
  lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES;

  if (hmptr != NULL &&
      *hmptr != NULL &&
      valptr != NULL) {
    int cstate;

    s_read_lock(*hmptr, &cstate);
    {
      ret = s_find(hmptr, key, valptr);
    }
    s_unlock(*hmptr, cstate);

  } else {
    ret = LAGOPUS_RESULT_INVALID_ARGS;
  }

  return ret;
}
Пример #4
0
mccp_result_t
mccp_hashmap_size(mccp_hashmap_t *hmptr) {
  mccp_result_t ret = MCCP_RESULT_ANY_FAILURES;

  if (hmptr != NULL &&
      *hmptr != NULL) {

    s_read_lock(*hmptr);
    {
      if ((*hmptr)->m_is_operational == true) {
        ret = (*hmptr)->m_n_entries;
      } else {
        ret = MCCP_RESULT_NOT_OPERATIONAL;
      }
    }
    s_unlock(*hmptr);

  } else {
    ret = MCCP_RESULT_INVALID_ARGS;
  }

  return ret;
}
Пример #5
0
lagopus_result_t
lagopus_hashmap_size(lagopus_hashmap_t *hmptr) {
  lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES;

  if (hmptr != NULL &&
      *hmptr != NULL) {
    int cstate;

    s_read_lock(*hmptr, &cstate);
    {
      if ((*hmptr)->m_is_operational == true) {
        ret = (*hmptr)->m_n_entries;
      } else {
        ret = LAGOPUS_RESULT_NOT_OPERATIONAL;
      }
    }
    s_unlock(*hmptr, cstate);

  } else {
    ret = LAGOPUS_RESULT_INVALID_ARGS;
  }

  return ret;
}