Refactor packages #753
Labels
Code Cleanup / Refactoring
Tidying and Making Neat
EPIC
Contains several subissues
Needs Feedback
What dose the Community Think?
From: #255 (comment)
Depends on: #1268
UPDATED: 2025-02-14. List of current packages.
UPDATED: 2025-01-31. List sub-issues.
UPDATED: 2024-11-27. List of current packages.
These are the packages we have extracted so far in the tracker:
And other independent packages:
In the long-term I see we could have the following:
packages/ ├── api <- NEW!: torrust-tracker-api (servers) ├── udp <- NEW!: torrust-tracker-udp (servers) ├── http <- NEW!: torrust-tracker-http (servers) ├── core <- NEW!: torrust-tracker-core (tracker) ├── bittorrent <- bittorrent-primitives ├── clock <- torrust-clock (shared) ├── crypto <- NEW!: torrust-crypto (shared) ├── configuration <- torrust-tracker-configuration ├── located-error <- torrust-tracker-located-error ├── primitives <- torrust-tracker-primitives └── test-helpers <- torrust-tracker-test-helpers
The "shared" ones could be a single package, but as they do not have much in common and could be used independently, I would keep them in separate packages.
I would also refactor the config file from:
to:
The configuration will also change accordingly from:
to:
I'm tempted to do those refactorings before continuing with the crate's documentation.
I would also move
UdpTracker
,HttpTracker
andHttpApi
to their crates (if possible) or even to new packages if we depend only on those types:packages/ ├── api <- NEW!: torrust-tracker-api (servers) ├── udp <- NEW!: torrust-tracker-udp (servers) ├── http <- NEW!: torrust-tracker-http (servers) ├── api-config <- NEW!: torrust-tracker-api-config ├── udp-config <- NEW!: torrust-tracker-udp-config ├── http-config <- NEW!: torrust-tracker-http-config ├── core-config <- NEW!: torrust-tracker-core-config ...
I would keep the current
torrust-tracker-configuration
for the main tracker app configuration:What do you think @da2ce7 @WarmBeer? We can do it later, but it will cost extra effort to refactor the documentation.
Regarding the config file, that would be a big change that would need to wait until the next major release (V4) if we want to do it.
Originally posted by @josecelano in #255 (comment)
The text was updated successfully, but these errors were encountered: