s2n_map_internal.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License").
  5. * You may not use this file except in compliance with the License.
  6. * A copy of the License is located at
  7. *
  8. * http://aws.amazon.com/apache2.0
  9. *
  10. * or in the "license" file accompanying this file. This file is distributed
  11. * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  12. * express or implied. See the License for the specific language governing
  13. * permissions and limitations under the License.
  14. */
  15. #pragma once
  16. #include "utils/s2n_map.h"
  17. struct s2n_map_entry {
  18. struct s2n_blob key;
  19. struct s2n_blob value;
  20. };
  21. struct s2n_map {
  22. /* The total capacity of the table, in number of elements. */
  23. uint32_t capacity;
  24. /* The total number of elements currently in the table. Used for measuring the load factor */
  25. uint32_t size;
  26. /* Once a map has been looked up, it is considered immutable */
  27. int immutable;
  28. /* Pointer to the hash-table, should be capacity * sizeof(struct s2n_map_entry) */
  29. struct s2n_map_entry *table;
  30. };