* Initial attempt at a Rust AMQP stack, merged against feature/rust_amqp for now. (#5942)
* Enabled building AMQP *without* uAMQP
* Start integrating Rust AMQP Value to C++ AMQP Value
* AMQP Value tests now pass
* Moved AmqpValueType ostream inserter to its original location
* Added Rust AMQP Message implementation
* Added start of message source tests
* Enabled building AMQP *without* uAMQP
* Start integrating Rust AMQP Value to C++ AMQP Value
* Moved AmqpValueType ostream inserter to its original location
* Message target support
* Message source and target support
* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features (#5986)
* Checkpoint of connection logic
* Started implementing Rust based Connection by pulling out uAMQP artifacts
* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.
* Don't leak runtime context on calls
* Refactor AMQP logic to better isolate rust AMQP code from uAMQP code. (#6008)
* refactor uAMQP and Rust AMQP into separate implementations for ease of use
* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features (#5986)
* Checkpoint of connection logic
* Started implementing Rust based Connection by pulling out uAMQP artifacts
* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.
* Don't leak runtime context on calls
* export UUID from AMQP
* Cleaned up some more elements; reduced scope of doxygen significantly
* runtime context needs to be process global not thread global; all tests pass or fail at this point
* Merged main into branch
* Implement AMQP Session APIs in Rust. (#6033)
* Checkpoint of rust session support
* Session begin/end now works
* Session tests pass
* Removed accidental regression
* Added rust per-call context (#6043)
* Reworked runtime context to be call context
* Added context parameter to blocking AMQP calls
* Added comments around the lifetime of the RustRuntimeContext captured in the CallContext object
* uAMQP changes corresponding to Rust changes
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* sync rust SDK fixes to C++
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Enable Rust ClaimsBasedSecurity interoperability; Converted EventHubs producer client to work with Rust AMQP changes. (#6059)
* canonicalized return values; initial CBS support
* Implementation of CBS for C++
* Amqp Authentication works; Integrate Rust AMQP into Eventhubs Producer client
* Implemented Rust AMQP message sender. (#6083)
* Initial sender implementation
* PR feedback
* Management APIs work (#6096)
* Management APIs work
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Converted builders to be compliant with Rust guidelines. (#6102)
* Converted builders to be compliant with Rust guidelines.
* Bring rust changes back to C++ repo
* Improved builder developer experience
* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP bug in message sender tests (#6208)
* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP related bug in message sender tests
* Pr feedback
* Implement receiving messages; Changes to eventhubs so that all eventhubs tests pass (#6254)
* Eventhubs tests pass
* Noise reduction; explain the task which spawns a task
* Update sdk/eventhubs/azure-messaging-eventhubs/src/producer_client.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* PR feedback
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Integrate Rust 2 step message receive code to C++ (#6349)
* Integrate Rust 2 step message receive code to C++
* If receiving a delivery failed, transmit the error to the message channel if at all possible
* Enable Rust based AMQP by default (#6362)
* AMQP tests now pass; Integrate TestAmqpBroker with CI pipeline
* Updated changelogs to reflect API changes made during AMQP updates
* Replace uAMQP with Rust AMQP as the default AMQP transport; Updated build configurationj to reflect that
* Test fixes
* PR feedback; test fixes
* Fixed uninitialized variable tanking some tests (#6381)
* Fixed uninitialized variable tanking some tests
* Fixed Rust AMQP tests
* Removed connection string support from Eventhubs and EH tests. (#6391)
* Removed the ability to use connection strings from EventHubs
* Enable Rust AMQP by default!!!
* Update CMakePresets.json
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
The generate_documentation function needs assets from the top-level SDK
directory. CMAKE_SOURCE_DIR will not point there if building from a
subproject like sdk/core/azure-core.
Fix this by defining SDK_ROOT_DIR, which is based on PROJECT_SOURCE_DIR.
This should always work as long as each subproject calling the function
is always 3 levels down, which is currently the case.
* Revert "Remove the use of ifdef for TESTING_BUILD in KeyVault clients, where (#5406)"
This reverts commit 2d8c940f55.
* Revert "Rename the TESTING_BUILD macro to be _azure_TESTING_BUILD to highlight (#5390)"
This reverts commit 256c2df8b5.
* Revert "Use new macros in existing surface area, so that classes marked as final don't have virtual methods. (#5389)"
This reverts commit 3d7eaddb9d.
* Revert "For new surface area, classes marked as final should not have virtual methods. (#5331)"
This reverts commit ddd0f4bd07.
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Use new macros in existing surface area, so that classes marked as final don't have virtual methods.
* Update doc comments.
* Use DOXYGEN_PREDEFINED to expand only the macros we want expanded.
* Add the compile definition for more projects.
* Address PR feedback.
* Make TestableTokenCache a friend class of TokenCache.
* doxygen fixes
* enable doxygen errors now that doxygen is updated.
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Upgrade Doxygen to 1.9.7 including template and version selector
* Style and logo changes
* Add README.md for docs templates
* Tabs to spaces
* Show installed doxygen version
* choco list
* "choco" is a word
* Choco list
* Require Doxygen 1.9.7
* Revert "Choco list"
This reverts commit 4d283088771874053f5691d2d464c592dae263a8.
* Revert ""choco" is a word"
This reverts commit 3233cfde8676313efbec23b5a278c8c6b148ac24.
* Revert "choco list"
This reverts commit 107499ba7486bdca7dbbedb8ad9dbb0a683ed2ba.
* Review feedback: Use storage account
* Update README.md
* update docs from classes
* remove more link from classes part II
* http docs
* Update sdk/core/azure-core/inc/azure/core/http/http.hpp
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Update cmake-modules/AzureDoxygen.cmake
* doc updates
* update RFC
Co-authored-by: Rick Winter <rick.winter@microsoft.com>