* 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>
* Docs links coversion: docs.microsoft.com -> learn.microsoft.com
Some markdown formatting
* Adding "msrc" to cspell words
* Undoing things auto formatter did
* Appling Ahson's suggestions
* Deprecated Azure::Core::ApplicationContext because its use is confusing and inconsistent with the original design.
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Make it clear that the BUILD_TESTING option is for testing purposes for contributors of the SDK and not supported for production use.
* Update FolderList.cmake to make a similar note.
* Fix spelling errors.
* Update CONTRIBUTING.md
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Update GPL link
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* lll
* sss
* oipio
* vcvc
* enable test proxy start at test suite start for KV and storage , example created for attestation, we cannot find the base definitions for the test suites,
* Contrib
* clangs
* clangs
* test logs
* pipeline
* more clangs
* pipeline
* clang
* try try again
* try try again
* try again
* try again
* again
* update paths , moved to macro , call macro in target code
* core
* capitalization
* Update relative links to sections in the contributing guide doc to fix link verification
* Make some source code change modifications to trigger GenerateRelease CI steps
* Don't use relative paths in links, instead use the full path from master to be consistent with other places
* Get static/dynamic CRT link options in sync
* Update docs
* PR feedback
* en-us
* Another 'en-us' in a link
* MSVC_USE_STATIC_CRT
* Update README.md
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
It is generally useful for PR authors to go through their own PR first to make sure that commonly occurring feedback and issues have already been addressed. This checklist should help remind contributors what to look out for and is a living doc that we can modify and add to.
I ask these questions to myself before submitting a PR, when looking through my changes in the "pre-PR-submit-view".
Where possible leverage linter tools and CI gates to help address some of these. For example, for spell-check, here are some solutions to make things easier within the developer inner-loop:
- VS Code extension: [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- VS Code extension: [Markdown linter](https://github.com/DavidAnson/vscode-markdownlint)
- Browser extension: [Site Spell](https://www.site-spell.com/)
Adding CMake module to enable/disable transport adapters
TRANSPORT ADAPTER BUILD
Default: If no option is explicitly added, curl will be used for POSIX and WIN HTTP for WIndows
Windows: Both CURL and WIN_HTTP can be build to be used.
POSIX: Only CURL is acceptable. If WIN_HTTP is set, generate step will fail for user
Defines `BUILD_WIN_HTTP_TRANSPORT_ADAPTER` and `BUILD_CURL_HTTP_TRANSPORT_ADAPTER` for source code
Fixes#350
Added build arguments to pass to cmake for running tests. If these
options are not passed during cmake build and someone tries to run test,
it will throw error "No tests were found!!!"
Cmake fails to find packages(curl, etc) if VCPKG_DEFAULT_TRIPLET is not set to x64-windows-static. If not set, cmake sets VCPKG_TARGET_TRIPLET to x64-windows instead of x64-windows-static. Since curl was installed using x64-windows-static in vcpkg, cmake fails to find the package. Adding set VCPKG_DEFAULT_TRIPLET to x64-windows-static explicitly in build instructions so that it is helpful to avoid cmake error(could not find CURL)