* under the terms of the license (GNU LGPL) which comes with this package. */
#include <algorithm>
+#include <array>
#include <climits>
#include "s4u-peer.hpp"
void Peer::sendMessage(simgrid::s4u::Mailbox* mailbox, e_message_type type, uint64_t size)
{
- const char* type_names[6] = {"HANDSHAKE", "CHOKE", "UNCHOKE", "INTERESTED", "NOTINTERESTED", "CANCEL"};
+ constexpr std::array<const char*, 6> type_names{
+ {"HANDSHAKE", "CHOKE", "UNCHOKE", "INTERESTED", "NOTINTERESTED", "CANCEL"}};
XBT_DEBUG("Sending %s to %s", type_names[type], mailbox->get_cname());
mailbox->put_init(new Message(type, id, bitfield_, mailbox_), size)->detach();
}
void Peer::handleMessage()
{
- const char* type_names[10] = {"HANDSHAKE", "CHOKE", "UNCHOKE", "INTERESTED", "NOTINTERESTED",
- "HAVE", "BITFIELD", "REQUEST", "PIECE", "CANCEL"};
+ constexpr std::array<const char*, 10> type_names{{"HANDSHAKE", "CHOKE", "UNCHOKE", "INTERESTED", "NOTINTERESTED",
+ "HAVE", "BITFIELD", "REQUEST", "PIECE", "CANCEL"}};
XBT_DEBUG("Received a %s message from %s", type_names[message->type], message->return_mailbox->get_cname());
static void sender(simgrid::s4u::Mailbox* mailbox, int data_size)
{
XBT_INFO("Send a message to the other station.");
- static char message[] = "message";
- mailbox->put(message, data_size);
+ static std::string message = "message";
+ mailbox->put(&message, data_size);
XBT_INFO("Done.");
}
static void receiver(simgrid::s4u::Mailbox* mailbox)
#include "mpi.h"
#include "simgrid/s4u.hpp"
+#include <array>
#include <cstdio> /* snprintf */
XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example");
int rank;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
XBT_INFO("here for rank %d", rank);
- int test[1000] = {rank};
+ std::array<int, 1000> test{{rank}};
if (rank == 0)
- MPI_Send(&test, 1000, MPI_INT, 1, 1, MPI_COMM_WORLD);
+ MPI_Send(test.data(), 1000, MPI_INT, 1, 1, MPI_COMM_WORLD);
else
- MPI_Recv(&test, 1000, MPI_INT, 0, 1, MPI_COMM_WORLD, MPI_STATUSES_IGNORE);
+ MPI_Recv(test.data(), 1000, MPI_INT, 0, 1, MPI_COMM_WORLD, MPI_STATUSES_IGNORE);
XBT_INFO("After comm %d", rank);
MPI_Finalize();