From e226a67303e070125c91175431c79f57c0a4d042 Mon Sep 17 00:00:00 2001 From: Johnathon Slightham Date: Thu, 16 Oct 2025 21:46:39 -0400 Subject: [PATCH] sendrecv --- components/rpc/MessagingInterface.cpp | 6 ++++-- components/rpc/include/MessagingInterface.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/components/rpc/MessagingInterface.cpp b/components/rpc/MessagingInterface.cpp index e7ba831..485f77b 100644 --- a/components/rpc/MessagingInterface.cpp +++ b/components/rpc/MessagingInterface.cpp @@ -13,7 +13,7 @@ MessagingInterface::~MessagingInterface() { vQueueDelete(m_mpi_rx_queue); vSemaphoreDelete(m_map_semaphore); - for (const auto [_tag, queue] : m_tag_to_queue) { + for (const auto queue: m_tag_to_queue | std::views::values) { vQueueDelete(queue); } } @@ -41,7 +41,9 @@ int MessagingInterface::recv(char* buffer, int size, int source, const int tag) return 0; } -int MessagingInterface::sendrecv(char* send_buffer, int send_size, int dest, int send_tag, char* recv_buffer, int recv_size, int recv_tag) { +int MessagingInterface::sendrecv(char* send_buffer, const int send_size, const int dest, const int send_tag, char* recv_buffer, const int recv_size, const int recv_tag, const bool durable) { + send(send_buffer, send_size, dest, send_tag, durable); + recv(recv_buffer, recv_size, dest, recv_tag); return 0; } diff --git a/components/rpc/include/MessagingInterface.h b/components/rpc/include/MessagingInterface.h index 6b10f70..f4d5091 100644 --- a/components/rpc/include/MessagingInterface.h +++ b/components/rpc/include/MessagingInterface.h @@ -25,7 +25,7 @@ public: int send(char* buffer, int size, int destination, int tag, bool durable); int broadcast(char* buffer, int size, int root, bool durable); int recv(char* buffer, int size, int source, int tag); - int sendrecv(char* send_buffer, int send_size, int dest, int send_tag, char* recv_buffer, int recv_size, int recv_tag); + int sendrecv(char *send_buffer, int send_size, int dest, int send_tag, char *recv_buffer, int recv_size, int recv_tag, bool durable); std::pair, std::vector> get_physically_connected_modules() const; Messaging::ConnectionType get_connection_type() const; uint8_t get_leader() const;