* Added eventhubs test collateral to create and destroy eventhubs namespaces and eventhubs; Added peek message functionality to AMQP
* Use HTTP to talk to management APIs instead of az cli
There are two significant parts to this fix. The first is that the Connection object now has a method EnableAsyncOperation which registers the connection with a background thread which polls the connection. The EnableAsyncOperation needs to be callable from outside the connection because in normal client operation, the calls to open the connection are all internal to uAMQP. That means that the message sender and receiver need to call it when they're opened (and closed).
The other major part of this change is that the AsyncOperationQueue now has a WaitForRequest API which does not normally poll (there is a test hook which enables polling but that is not normally used in most scenarios).
The other part of this change fixes some concurrency issues associated with the Log::Stream functionality.
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/core/azure-core/src/logger.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/core/azure-core/test/ut/CMakeLists.txt
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/core/azure-core/test/ut/logging_test.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Added ASAN as an option, converted transports to be bases to ensure consistancy
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update core ci.yml so that some CI pipeline runs when modifying markdown files at the root of the repo
* Update ci.yml for PRs.
* Update README.md to test that CI triggers.
* Check why wildcard isn't working as expected
* Try wrapping wildcard in quotes since it is at the start of the path to trigger
* Added link credit support to message sender and receiver; reworked message receiver creation to move to the partition client object
* Added round trip test, including filters; fixed a hang with the consumer client caused by no messages; fixed checkpoint store storage names.
* EventDataBatch is created from EventProducer. Fixes#4868
* SendEventDataBatch renamed to Send; pass in Context on methods which require a context
* Added producer client send APIs without requiring an explicit event data batch
* close message receiver in destructor if it is open
* Consumer client and producer client only create message sender and receiver when needed
* bahavior -> behavior
* Update transport_adapter_base_test.hpp to fix the typo
* Update blob_base_test.hpp to fix the typo
* Update cspell.json to exclude bahavior is a valid word in the dictionary
---------
Co-authored-by: Ahson Khan <ahson_ahmedk@yahoo.com>
* Scaffolding for eventhubs perf test
* Added eventhubs 'stress' test, which is really a totally broken perf test'
* Added stress test skeleton
* EventHubs Stress test is an actual eventhubs test now
* EventHubs throws exceptions on producer client failure. Rationalized error reporting from AMQP - message sender and receiver generate the same errors.
* Rationalize AMQP error results; throw exceptions on eventhubs errors
* Fixed amqp management test; added HTTP status code for management triggered exceptions
* Event Data binary no longer takes an AMQP binary; Preliminary readme.md for eventhubs (still many go constructs in the readme)
* Created the first eventhubs samples - they don't do much but they work
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* API Review feedback
* Added isTransient flag to eventhubs exception based on Java implementation
* Updated AMQP changelog to reflect recent changes
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Clean up version requirements
* Revert curl back to 7.44
* Update vcpkg.json
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Disable libcurl globalCleanUp test until it has been investigated
* Update curl_connection_pool_private.hpp friend class name for the disabled test
* Update curl_session_private.hpp friend class name for the disabled test
* Update vcpkg baseline
* Update in another place as well
* Remove default-features requirement for telemetry and amqp in manifest mode
* Also remove default-features for storage
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Enable phasing out a breaking change in Code in a step-by-step manner
* Update messages
* Fully qualify namespace in Changelog
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* 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>
* Switched management implementation to use message sender and receiver instead of uAMQP implementation.
* Made value conversion to AmqpValue explicit to work around what appears to be a gcc9 bug
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* pull request feedback
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Fixes#4696 - Added support to Log::Write to use insertion operators for logging
* EnvironmentLogger writes to stderr on errors, stdout for non-errors; Also don't double insert crlf in messages
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Added amqp_definitions_fields to list of 'special' uAMQP headers
* Tidy up x64-static-debug-perftests preset
* Moved test functions to private and use friend functions for tests; Renamed Management to ManagementClient and made it constructable from Session.
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Fix live tests CI compilation (unused variable warning - gets treated as error)
* A warning popped up in opentelemetry due to header reordering
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>