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

aead: split Aead(Mut) from Aead(Mut)InPlace (fixes #70) #120

Merged
merged 1 commit into from
May 23, 2020

Commits on May 23, 2020

  1. aead: split Aead(Mut) from Aead(Mut)InPlace (fixes #70)

    Splits the `Aead` and `AeadMut` trait into the following:
    
    - `Aead` and `AeadMut`:gated on the `alloc` feature
    - `AeadInPlace` and `AeadMutInPlace`: object-safe, always available
    
    This further has the benefit that implementors who don't want to provide
    or abstract over the in-place APIs no longer have to.
    
    To make the `*InPlace` traits object safe, the one generic parameter
    they previously used (`impl Buffer`) was switched to `dyn Buffer`.
    This adds some vtable dispatch overhead for manipulating the buffer, but
    hopefully it is still cheap compared to the overhead of cryptographic
    operations on the underlying data. That said, no benchmarks have been
    performed (yet) on the costs of this change.
    tarcieri committed May 23, 2020
    Configuration menu
    Copy the full SHA
    20f8698 View commit details
    Browse the repository at this point in the history