29#define MAX_NS_NAME_LEN 4096
This is an implementation of Compressed Hash-Array Mapped Prefix-tree, which is a bit-partitioned,...
srn_namespace_t * srn_namespace_load(srn_namespace_t *ns)
Load the namespace from the filesystem by looking up the file in the filesystem, load the file into t...
srn_value_t * srn_namespace_make(srn_context_t *ctx, srn_metadata_t *metadata, srn_string_t *name)
Creates a new namespace in the give context.
char * path
Path on disk this buffer is associated with.
uint8_t * bytes
Byte storage.
srn_context_t * root_context
srn_spinlock_t src_buffer_lock
Guards every access to source buffer.
srn_namespace_src_buffer_t * src_buffer
The buffer holding the source code for this namespace.
hmap_t sym_table
A mapping symbol names to (srn_value_t with type symbol).
srn_spinlock_t sym_table_lock