This diff introduces AMQP Manager and AMQP-C++ client implementation multithreaded access test. In this test, we are spawning 100 threads that send 10 messages each in parallel. In this case, we are checking for possible deadlocks and unsynchronized access to the shared resources inside the AMQPManager implementation.
Also, this test can show the throughput performance of the single shared AMQP channel implementation to send/receive messages.
Related Linear task: ENG-1495
Before we even generate key via SymmetricKey, should we check that destination.byteLength is 32 and throw InvalidDestinationSizeException() if not?
It seems like destination is the input that we want to validate, so we should just do that directly? It's not really so much that SymmetricKey is giving us incorrect size key since it's (I'm assuming) always going to give us exactly the size we're asking for?
Feel free to re-request review if there's something I'm missing here.