- using the `futureunordered` instead of vector for collecting results
reduces the time it takes to fetch the results as the results do not
need to come in specific order so any result that gets fetched first
gets collected in the `futureunordered` type.
Co-authored-by: Spencerjibz <spencernajib2@gmail.com>
- replace hashmaps with vectors for fetching, collecting & aggregating results as it tends to be contigous & cache efficient data structure.
- refactor & redesign algorithms for fetching & aggregating results
centered around vectors in aggregate function.
- initializes & stores the config & cache structs as a static constant.
- Pass the config & cache structs as a static reference to all the
functions handling their respective route.
* ci: add release.yml to help automate release versions
* ci: add release.yml to help automate release versions - edited file further to cover edge cases
* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable
* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v
* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0
* ci: changing structure of release.yml to be easier to understand
* ci: #minor changes made
* ci: #minor changes made to make rolling and stable both release branches
* ci: #minor changes to hopefully turn off pre-release
* ci: #minor change - trying to make pre-release suffic set to nothing
* ci: #minor change - removed older release action for a better up to date one
* ci: #minor change
* ci: #minor change to fixed the pre-release issue
* ci: #minor change to fixed the pre-release issue again
* ci: #minor change to fixed the pre-release issue again2
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* major: testing updating major
* BREAKING CHANGE: removed changelog action
* ci: reset commit and removed changelog
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* ci: reset commit and removed changelog
* ci: added step to change Cargo.toml app version to the latest tag version without the v
* ci: using echo and double quotes in the appversion variable. Testing now
* ci: testing autocommit
* Apply automatic changes
* ci: testing autocommit further
* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag
* Apply automatic changes
* ci: testing autocommit with branch protection and doing a PR to rolling
* Apply automatic changes
* ci: testing PR create and merge - removed the if that was causing it not to run
* ci: testing PR create and merge - removed the if that was causing it not to run
* Apply automatic changes
* ci: testing PR create and merge - fixed permission issues
* ci: testing PR create and merge - fixed permission issues
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue2
* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets
* ci: testing PR create and merge - testing PAT
* ci: testing PR create and merge - testing to see if merge loop stops
* ci: adding in cargo.toml version in auto git commit
* Update Cargo.toml
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* ci: adding in steps to regenerate the Cargo.lock file
* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml
* ci: testing permissions
* ci: testing permissions with PAT
* ci: testing permissions with PAT again
---------
Co-authored-by: scottc943 <scottc943@users.noreply.github.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* ci: add release.yml to help automate release versions
* ci: add release.yml to help automate release versions - edited file further to cover edge cases
* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable
* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v
* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0
* ci: changing structure of release.yml to be easier to understand
* ci: #minor changes made
* ci: #minor changes made to make rolling and stable both release branches
* ci: #minor changes to hopefully turn off pre-release
* ci: #minor change - trying to make pre-release suffic set to nothing
* ci: #minor change - removed older release action for a better up to date one
* ci: #minor change
* ci: #minor change to fixed the pre-release issue
* ci: #minor change to fixed the pre-release issue again
* ci: #minor change to fixed the pre-release issue again2
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* major: testing updating major
* BREAKING CHANGE: removed changelog action
* ci: reset commit and removed changelog
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* ci: reset commit and removed changelog
* ci: added step to change Cargo.toml app version to the latest tag version without the v
* ci: using echo and double quotes in the appversion variable. Testing now
* ci: testing autocommit
* Apply automatic changes
* ci: testing autocommit further
* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag
* Apply automatic changes
* ci: testing autocommit with branch protection and doing a PR to rolling
* Apply automatic changes
* ci: testing PR create and merge - removed the if that was causing it not to run
* ci: testing PR create and merge - removed the if that was causing it not to run
* Apply automatic changes
* ci: testing PR create and merge - fixed permission issues
* ci: testing PR create and merge - fixed permission issues
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue2
* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets
* ci: testing PR create and merge - testing PAT
* ci: testing PR create and merge - testing to see if merge loop stops
* ci: adding in cargo.toml version in auto git commit
* Update Cargo.toml
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* ci: adding in steps to regenerate the Cargo.lock file
* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml
---------
Co-authored-by: scottc943 <scottc943@users.noreply.github.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* attempt1
* rough draft
* add features and their optional dependancies
* add encryption and compression error variants
* add a sample implementation to cache trait
* Update src/cache/cacher.rs
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* adjust comment so feature flag would apply?
* adjust feature flag so it applies?
* formatting
* Update src/cache/cacher.rs
update documentation
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* [features]Add base64 and chacha20 dependencies for compress-cache-results and encrypt-cache-results
* move encryption key and cipher logic to separate sub module
* added cacha20 and cec-results feature
* added cacha20 and cec-results feature
* added compression and encryption helper functions to trait implementations
* added compression and encryption implementation for inMemoryCache
* base64 is only requried when redis-cache feature is enabled
* add error case for base64 and encryption/compression implementation to redisCache
* Refactor cacher to remove regex dependency
* fmt cache error and cacher
* Update Cargo.toml
disabling the unneeded default-features
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* fix unused import warning for mimalloc
* remove deprecated method
* add doc comments for encryption module
* fix known bugs and use cfg-if module
* make cfg-if an optional dependency
* use feature-flag instead of maco lint
* add comment to explain type complexity
* bump app version
* Update src/cache/encryption.rs
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* fixed type complexity and add docs for types
---------
Co-authored-by: Spencer Najib <spencernajib2@gmail.com>
Co-authored-by: alamin655 <mdalamin655@outlook.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
Co-authored-by: Spencerjibz <=spencernajib2@gmail.com>
Co-authored-by: spencer <spencer@DESKTOP-SIF13AR>