threadpanic/rustpg
1
0
Fork
You've already forked rustpg
0

refactor: AlgorithmRegistry — replace scattered match arms with a dispatch table #29

Open
opened 2026年05月18日 07:41:48 +02:00 by threadsafety · 0 comments

Algorithm dispatch is currently spread across match cipher and match data[5] arms in encrypt.rs and decrypt.rs. A central AlgorithmRegistry that maps algo-ids to boxed Encrypt + Decrypt trait objects would make each new cipher a purely additive registration with no changes to dispatch code. ChaCha20 block-mode (#TBD) and ML-KEM (Tier 6) both need this — adding them now requires editing the match arms in multiple files.

Algorithm dispatch is currently spread across `match cipher` and `match data[5]` arms in `encrypt.rs` and `decrypt.rs`. A central `AlgorithmRegistry` that maps algo-ids to boxed `Encrypt + Decrypt` trait objects would make each new cipher a purely additive registration with no changes to dispatch code. ChaCha20 block-mode (#TBD) and ML-KEM (Tier 6) both need this — adding them now requires editing the match arms in multiple files.
Sign in to join this conversation.
No Branch/Tag specified
main
alpha-0.4.1
alpha-0.4.0
alpha-0.3.3
alpha-0.3.2
alpha-0.3.1
v0.3.1
alpha-1
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
threadpanic/rustpg#29
Reference in a new issue
threadpanic/rustpg
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?