@@ -65,6 +65,7 @@ namespace fs = std::experimental::filesystem;
65
65
#include < chrono>
66
66
#include < deque>
67
67
#include < future>
68
+ #include < list>
68
69
#include < random>
69
70
#include < thread>
70
71
#include < tuple>
@@ -847,7 +848,7 @@ class AMSMessage
847
848
848
849
AMSMessage (const AMSMessage& other)
849
850
{
850
- DBG (AMSMessage, " Copy AMSMessage : %p -- %d " , other. _data , other._id );
851
+ DBG (AMSMessage, " Copy AMSMessage (%d, %p) <- (%d, %p) " , _id, _data, other._id , other. _data );
851
852
swap (other);
852
853
};
853
854
@@ -863,7 +864,7 @@ class AMSMessage
863
864
864
865
AMSMessage& operator =(AMSMessage&& other) noexcept
865
866
{
866
- // DBG(AMSMessage, "Move AMSMessage : %p -- %d ", other. _data, other._id);
867
+ DBG (AMSMessage, " Move AMSMessage (%d, %p) <- (%d, %p) " , _id, _data, other._id , other. _data );
867
868
if (this != &other) {
868
869
swap (other);
869
870
other._data = nullptr ;
@@ -1325,7 +1326,7 @@ class RMQPublisherHandler final : public RMQHandler
1325
1326
/* * @brief Mutex to protect multithread accesses to _messages */
1326
1327
std::mutex _mutex;
1327
1328
/* * @brief Messages that have not been successfully acknowledged */
1328
- std::vector <AMSMessage> _messages;
1329
+ std::list <AMSMessage> _messages;
1329
1330
1330
1331
public:
1331
1332
/* *
@@ -1351,7 +1352,7 @@ class RMQPublisherHandler final : public RMQHandler
1351
1352
* @brief Return the messages that have NOT been acknowledged by the RabbitMQ server.
1352
1353
* @return A vector of AMSMessage
1353
1354
*/
1354
- std::vector <AMSMessage>& msgBuffer ();
1355
+ std::list <AMSMessage>& msgBuffer ();
1355
1356
1356
1357
/* *
1357
1358
* @brief Free AMSMessages held by the handler
@@ -1395,13 +1396,13 @@ class RMQPublisherHandler final : public RMQHandler
1395
1396
* @param[in] addr Address of memory to free.
1396
1397
* @param[in] buffer The vector containing memory buffers
1397
1398
*/
1398
- void freeMessage (int msg_id, std::vector <AMSMessage>& buf );
1399
+ void freeMessage (int msg_id, std::list <AMSMessage>& buffer );
1399
1400
1400
1401
/* *
1401
1402
* @brief Free the data pointed by each pointer in a vector.
1402
1403
* @param[in] buffer The vector containing memory buffers
1403
1404
*/
1404
- void freeAllMessages (std::vector <AMSMessage>& buffer);
1405
+ void freeAllMessages (std::list <AMSMessage>& buffer);
1405
1406
1406
1407
}; // class RMQPublisherHandler
1407
1408
@@ -1428,7 +1429,7 @@ class RMQPublisher
1428
1429
/* * @brief The handler which contains various callbacks for the sender */
1429
1430
std::shared_ptr<RMQPublisherHandler> _handler;
1430
1431
/* * @brief Buffer holding unacknowledged messages in case of crash */
1431
- std::vector <AMSMessage> _buffer_msg;
1432
+ std::list <AMSMessage> _buffer_msg;
1432
1433
1433
1434
public:
1434
1435
RMQPublisher (const RMQPublisher&) = delete ;
@@ -1439,13 +1440,13 @@ class RMQPublisher
1439
1440
const AMQP::Address& address,
1440
1441
std::string cacert,
1441
1442
std::string queue,
1442
- std::vector <AMSMessage>&& msgs_to_send = std::vector <AMSMessage>());
1443
+ std::list <AMSMessage>&& msgs_to_send = std::list <AMSMessage>());
1443
1444
1444
1445
/* *
1445
1446
* @brief Check if the underlying RabbitMQ connection is ready and usable
1446
1447
* @return True if the publisher is ready to publish
1447
1448
*/
1448
- bool ready_publish ();
1449
+ bool readyPublish ();
1449
1450
1450
1451
/* *
1451
1452
* @brief Wait that the connection is ready (blocking call)
@@ -1481,7 +1482,7 @@ class RMQPublisher
1481
1482
* acknowledgements have not arrived yet.
1482
1483
* @return A vector of AMSMessage
1483
1484
*/
1484
- std::vector <AMSMessage>& getMsgBuffer ();
1485
+ std::list <AMSMessage>& getMsgBuffer ();
1485
1486
1486
1487
/* *
1487
1488
* @brief Total number of messages successfully acknowledged
0 commit comments