Skip to content

CTL - setting global namespace #1058

@KFilipek

Description

@KFilipek

CTL - setting global namespace

Rationale

Intention of this issue is to discuss and summarize the implementation for default part of the CTL.
This issue is a part of: #1036

Description

The CTL for global namespace is the way to set default values for pool, providers etc.

API Changes

API to be added:

umf_result_t umfCtlSet(const char *name, ...);
umf_result_t umfCtlGet(const char *name, ...);
umf_result_t umfCtlExec(const char *name, ...);

Examples of use

umfCtlSet("umf.pool.default.disjoint.SlabMinSize", &value);

Implementation details

The implementation should be split into 2 parts, first is the main CTL tree:

umf
├── pool
|   └── default
|       └── SUB_TREE (aka NAME)
└── provider
    └── default
        └── SUB_TREE (aka NAME)

After encountering SUB_TREE there should be located a proper CTL tree, appropriate for the mentioned type:

disjoint sub-tree
├── SlabMinSize (size_t)
├── MaxPoolableSize (size_t)
├── Capacity (size_t)
├── MinBucketSize (size_t)
├── CurPoolSize (size_t)
├── PoolTrace (int)
└── Name (char *)

Meta

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions