Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Refactor namespace design and related library organization #339

Closed
1 task done
anonimal opened this issue Sep 8, 2016 · 1 comment
Closed
1 task done

Refactor namespace design and related library organization #339

anonimal opened this issue Sep 8, 2016 · 1 comment

Comments

@anonimal
Copy link
Collaborator

anonimal commented Sep 8, 2016

By submitting this issue, I confirm the following:

  • I have read and understood the contributor guide.
  • I have checked that the issue I am reporting can be replicated or that the feature I am suggesting is not present.
  • I have checked opened or recently closed pull requests for existing solutions/implementations to my issue/suggestion.

Place an X inside the bracket to confirm

  • I confirm.

From #336 and this comment:

Namespace design has irritated me from the very beginning. It's not very complimentary to our current (or future) library design and at least a handful of nested namespaces are nowhere near overcrowding.

Since I'm in a rush, off the top of my head, here are a few basic proposals:

  1. s/i2p/kovri/g
  2. have namespace better reflect design and intention, e.g: kovri::client, kovri::core
  3. remove redundant namespaces like current i2p::util::http

There's the argument that namespace shouldn't reflect design. I'll leave that open for debate.

@anonimal anonimal self-assigned this Sep 11, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 26, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 26, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 26, 2016
- All client code only requires kovri::client namespace
- Moved code to more appropriate libclient directories
- Specified header locations in relation to libraries

Note: this work will prepare libclient for further work with larger
refactoring and library improvements.

This commit is malleable and the work will most likely be subject to
further revision.

References monero-project#339 monero-project#98
anonimal added a commit to anonimal/kovri that referenced this issue Oct 26, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 27, 2016
- All core code only requires kovri::core namespace
- Moved code to more appropriate libcore directories
- Renamed files where approriate (also done in 47e7dcb)
- Specified header locations in relation to libraries
- Removed unused cryptopp headers (outside of crypto)

Note: this work will prepare libcore for further work with larger
refactoring and library improvements.

This commit is malleable and the work will most likely be subject to
further revision.

References monero-project#339 monero-project#98
anonimal added a commit to anonimal/kovri that referenced this issue Oct 27, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 27, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 27, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 27, 2016
anonimal added a commit to anonimal/kovri that referenced this issue Oct 27, 2016
- Based on previous commits
- Also updates ed25519 (custom sha512 header)

References monero-project#339 monero-project#98
@anonimal anonimal changed the title Refactor namespace design Refactor namespace design and related library organization Oct 27, 2016
@anonimal
Copy link
Collaborator Author

Resolved with #414.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant