Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.5 #1

Open
wants to merge 23 commits into
base: trunk
Choose a base branch
from
Open

Version 0.5 #1

wants to merge 23 commits into from

Commits on Sep 21, 2023

  1. Fix sync reference with_metadata

    Fix `ContiguousMemoryStorage::resize` return type
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    bed6dbd View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2023

  1. WIP: Separate implementations

    Fix assume_stored returning a reference with invalid byte range.
    Reduce number of lock acquisitions in sync code.
    Fix push not handling alignment which caused the container to grow
    twice in some cases.
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    311709f View commit details
    Browse the repository at this point in the history
  2. Add clear and release_region methods.

    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    93e6ef5 View commit details
    Browse the repository at this point in the history
  3. Remove unused code from common

    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    c8b0222 View commit details
    Browse the repository at this point in the history
  4. Feature gate sync/unsafe related code

    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    9dde30c View commit details
    Browse the repository at this point in the history
  5. Cleanup and improve docs

    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    28503c6 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2023

  1. Add support for custom allocators

    Change base address representation
    Cleanup interface
    Improve documentation
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    340e219 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Improve crate errors

    Simplify return types
    Improve resource management of implementations
    Improve docs and add examples
    Rename impl features
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    0ae9865 View commit details
    Browse the repository at this point in the history
  2. Fix overlaps in ByteRange

    Fix doc examples
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    1f2a167 View commit details
    Browse the repository at this point in the history
  3. Remove resize in favor of grow_to.

    Add size function.
    Handle zero-sized element insertion better.
    Rename MemoryManager trait to ManageMemory.
    Improve docs and add more examples.
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    5b7eabc View commit details
    Browse the repository at this point in the history
  4. Remove AllocationTracker errors.

    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    02a3629 View commit details
    Browse the repository at this point in the history
  5. Remove separate capacity as it's bound to base

    Improve sync code and how locks are managed
    Apply clippy suggestions
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    11d6e51 View commit details
    Browse the repository at this point in the history
  6. Simplified common code

    Separated on reference boundary so there's much unused implemented
    types/fns.
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    a9901b6 View commit details
    Browse the repository at this point in the history
  7. Apply clippy suggestions

    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    36704ec View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2023

  1. Improve AllocationTracker

    Remove panics from AllocationTracker.
    Rename AllocationTracker to SegmentTracker which is clearer.
    Add supporting Location struct for peek_next to enforce validity of
    peeked result.
    Improve correctness of SegmentTracker implementation.
    Simplify use of SegmentTracker.
    Use peek_next in take_next to unify behavior.
    Add can_store fn to SegmentTracker to make checks cheaper.
    Improve SegmentTracker documentation.
    
    Rename current reserve methods on ContiguousMemory to reserve_exact and
    add reserve variants.
    Reduce code duplication in those methods.
    Reduce code duplication in some other parts of code.
    
    Improve error messages and documentation.
    Remove unused parts of types module and move some parts out.
    Move ManageMemory and DefaultMemoryManager out of raw module and into
    memory module.
    Fix ByteRange::aligned method to shrink the result instead of offseting
    it which is more correct.
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    29701d5 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. Move SyncContiguousEntryRef into sync submodule

    Fix introduced issues for different feature flags
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    3469cfc View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. WIP: sync code generation macros

    This is a pre-removal of sync code.
    
    Turns out that it doesn't make much sense to internally control RwLocks
    and Mutex because in some cases users might require different types of
    access with different characteristics, so I believe a better approach
    would be making the core impl. as quick and simple as possible and then
    users of the library can wrap it in RwLock or Mutex as they see fit.
    
    Otherwise, implementation is super complicated and difficult to modify
    for those who aren't acquainted with the codebase. Given the permissive
    nature of the license, and how niche the synchronised use case is, I
    think it's a better choice to provide a simpler implementation which can
    then be re-vendored and modified to fit specific requirements if
    wrapping the structure in RwLock/Mutex isn't good enough.
    
    I'm pushing this for future reference, but most of the changes in this
    commit will be reverted.
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    cdecf17 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. Remove sync code.

    Opened up API to implementing custom state referencing and inner
    mutability which allows dependants to choose which syncronization
    mechanism their use case would benefit most from.
    
    Poisoning errors will cause reference getters to panic.
    
    Signed-off-by: Tin Svagelj <tin.svagelj@live.com>
    Caellian committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    1073272 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. Ready 0.5 release

    Cleanup documentation.
    Remove some stale types.
    Simplify some methods.
    Fix no_std issues.
    Fix clippy warnings.
    Update github workflows.
    
    Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
    Caellian committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    4a02aab View commit details
    Browse the repository at this point in the history
  2. Fix doc tests

    Update CI matrix to combine different features
    
    Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
    Caellian committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    11cc569 View commit details
    Browse the repository at this point in the history
  3. Add missing null checks in ManageMemory impl

    Move some tests into documentation
    
    Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
    Caellian committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    d964574 View commit details
    Browse the repository at this point in the history
  4. Guard unsafe impl example

    Fix Layout import in examples
    
    Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
    Caellian committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    bcd5dd7 View commit details
    Browse the repository at this point in the history
  5. Fix MIRI errors

    Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
    Caellian committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    4203cc2 View commit details
    Browse the repository at this point in the history