X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/a561a2e124710e98e19bafea2b87f577779b68b5..779b929d3831ca0aea2f667029d6381946c86e01:/messages.cpp?ds=sidebyside diff --git a/messages.cpp b/messages.cpp index 2eed581..2d5de94 100644 --- a/messages.cpp +++ b/messages.cpp @@ -14,10 +14,10 @@ message::message(message_type t, double a, double c) // compute message size // arbitrary: 8 for type, and 8 for each double switch (type) { - case INFO: + case CTRL: size = opt::bookkeeping ? 24 : 16; // type + amount + (credit)? break; - case LOAD: + case DATA: size = 16 + opt::comm_cost(amount); // type + amount + data size break; default: @@ -28,10 +28,26 @@ message::message(message_type t, double a, double c) std::string message::to_string() { - static const char* str[DATA_CLOSE + 1] = { "INFO", "LOAD", - "CTRL_CLOSE", "DATA_CLOSE" }; std::ostringstream oss; - oss << str[type] << ": " << amount; + switch (type) { + case CTRL: + oss << "CTRL: " << amount << " (info)"; + if (opt::bookkeeping) + oss << "; " << credit << " (credit)"; + break; + case DATA: + oss << "DATA: " << amount << " (load)"; + break; + case CTRL_CLOSE: + oss << "CTRL_CLOSE"; + break; + case DATA_CLOSE: + oss << "DATA_CLOSE"; + break; + default: + oss << "UNKNOWN MESSAGE TYPE: " << type; + break; + } return oss.str(); }