File tree Expand file tree Collapse file tree 3 files changed +15
-31
lines changed
Expand file tree Collapse file tree 3 files changed +15
-31
lines changed Original file line number Diff line number Diff line change @@ -44,11 +44,10 @@ namespace Aws
4444 class AWS_CRT_CPP_API XXHash final
4545 {
4646 public:
47- ~XXHash ();
4847 XXHash (const XXHash &) = delete ;
4948 XXHash &operator =(const XXHash &) = delete ;
50- XXHash (XXHash &&toMove);
51- XXHash &operator =(XXHash &&toMove);
49+ XXHash (XXHash &&toMove) noexcept = default ;
50+ XXHash &operator =(XXHash &&toMove) noexcept = default ;
5251
5352 /* *
5453 * Returns the value of the last aws error encountered by operations on this instance.
@@ -87,7 +86,7 @@ namespace Aws
8786 XXHash (aws_xxhash *hash) noexcept ;
8887 XXHash () = delete ;
8988
90- aws_xxhash * m_hash;
89+ ScopedResource< struct aws_xxhash > m_hash;
9190 int m_lastError;
9291 };
9392 } // namespace Checksum
Original file line number Diff line number Diff line change @@ -26,38 +26,14 @@ namespace Aws
2626 return aws_xxhash3_128_compute (seed, input, &output) == AWS_OP_SUCCESS;
2727 }
2828
29- XXHash::XXHash (aws_xxhash *hash) noexcept : m_hash(hash), m_lastError(0 )
29+ XXHash::XXHash (aws_xxhash *hash) noexcept : m_hash(hash, aws_xxhash_destroy ), m_lastError(0 )
3030 {
31- if (! hash)
31+ if (hash == nullptr )
3232 {
33- m_lastError = aws_last_error ();
34- }
35- }
36-
37- XXHash::~XXHash ()
38- {
39- if (m_hash)
40- {
41- aws_xxhash_destroy (m_hash);
42- m_hash = nullptr ;
33+ m_lastError = Crt::LastError ();
4334 }
4435 }
4536
46- XXHash::XXHash (XXHash &&toMove) : m_hash(toMove.m_hash), m_lastError(toMove.m_lastError)
47- {
48- toMove.m_hash = nullptr ;
49- }
50-
51- XXHash &XXHash::operator =(XXHash &&toMove)
52- {
53- if (&toMove != this )
54- {
55- *this = XXHash (std::move (toMove));
56- }
57-
58- return *this ;
59- }
60-
6137 XXHash XXHash::CreateXXHash64 (uint64_t seed, Allocator *allocator) noexcept
6238 {
6339 return XXHash (aws_xxhash64_new (allocator, seed));
Original file line number Diff line number Diff line change @@ -63,6 +63,7 @@ add_test_case(JsonExplicitNull)
6363add_test_case(JsonBoolTest)
6464add_test_case(JsonMoveTest)
6565add_test_case(SHA256ResourceSafety)
66+ add_test_case(SHA512ResourceSafety)
6667add_test_case(MD5ResourceSafety)
6768add_test_case(SHA1ResourceSafety)
6869add_test_case(SHA256HMACResourceSafety)
@@ -322,6 +323,14 @@ if (NOT BYO_CRYPTO)
322323 add_test_case(HKDFPiping)
323324endif ()
324325
326+ add_test_case(CRC32Piping);
327+ add_test_case(CRC32CPiping);
328+ add_test_case(CRC64NVMEPiping);
329+
330+ add_test_case(XXHash64Piping);
331+ add_test_case(XXHash3_64Piping);
332+ add_test_case(XXHash3_128Piping);
333+
325334generate_cpp_test_driver(${TEST_BINARY_NAME} )
326335
327336aws_add_sanitizers(${TEST_BINARY_NAME} )
You can’t perform that action at this time.
0 commit comments