Skip to content

header map: allow extensions to statically register O(1) headers #4815

@mattklein123

Description

@mattklein123

Right now if we want an O(1) header it has to be added to the core header map. This is unfortunate for extension writers who might want this perf boost but either can't add it due to private code, or as we move away from having extensions modify the core code in any way, will be blocked from adding it.

I believe it should be possible to allow extension O(1) headers to be added. A rough implementation outline is:

  1. Allow the struct of O(1) headers to be variable sized and zero initialized.
  2. Each O(1) header is statically registered with a handle and a slot index into the array, as well as the lookup trie.
  3. Allow extensions to statically register and get their own slot.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions