Evaluate using std::deque for RpcClient's pending request queue
The current implementation uses std::vector as the underlying container for the pending request priority queue. Since vectors don't automatically shrink as elements are removed, shrinking logic was added in RpcClient.cpp.
We should evaluate std::deque as an alternative. The downside is that deques have a minimum size of around 4kB (depending on a bunch of factors) because of their block allocation strategy. The upside is that they automatically shrink as elements are removed.
This tradeoff may be worth it since only one instance of this particular queue should exist for any given uE.
Before making the change, we should determine how much memory a typical vector of pending requests uses and characterize the impact of growing / shrinking the vector on performance under simulated loads. We could compare to the performance when the vector is swapped with a deque.
Originally posted by @gregmedd in https://github.com/eclipse-uprotocol/up-cpp/pull/202#discussion_r1674710805