X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0e51c90b78469c7c2067935ef62bf9474d09891d..e167326c1369032305b7eb87e166b12d6690df64:/src/s4u/s4u_comm.cpp diff --git a/src/s4u/s4u_comm.cpp b/src/s4u/s4u_comm.cpp index 93e1c506dc..591040574a 100644 --- a/src/s4u/s4u_comm.cpp +++ b/src/s4u/s4u_comm.cpp @@ -10,73 +10,75 @@ #include "simgrid/s4u/comm.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(s4u_comm,s4u_activity,"S4U asynchronous communications"); -using namespace simgrid; -s4u::Comm::~Comm() { +namespace simgrid { +namespace s4u { + +Comm::~Comm() { } -s4u::Comm &s4u::Comm::send_init(s4u::Mailbox &chan) { +s4u::Comm &Comm::send_init(s4u::Mailbox &chan) { s4u::Comm *res = new s4u::Comm(); res->sender_ = SIMIX_process_self(); res->mailbox_ = &chan; return *res; } -s4u::Comm &s4u::Comm::recv_init(s4u::Mailbox &chan) { +s4u::Comm &Comm::recv_init(s4u::Mailbox &chan) { s4u::Comm *res = new s4u::Comm(); res->receiver_ = SIMIX_process_self(); res->mailbox_ = &chan; return *res; } -void s4u::Comm::setRate(double rate) { +void Comm::setRate(double rate) { xbt_assert(state_==inited); rate_ = rate; } -void s4u::Comm::setSrcData(void * buff) { +void Comm::setSrcData(void * buff) { xbt_assert(state_==inited); - xbt_assert(dstBuff_ == NULL, "Cannot set the src and dst buffers at the same time"); + xbt_assert(dstBuff_ == nullptr, "Cannot set the src and dst buffers at the same time"); srcBuff_ = buff; } -void s4u::Comm::setSrcDataSize(size_t size){ +void Comm::setSrcDataSize(size_t size){ xbt_assert(state_==inited); srcBuffSize_ = size; } -void s4u::Comm::setSrcData(void * buff, size_t size) { +void Comm::setSrcData(void * buff, size_t size) { xbt_assert(state_==inited); - xbt_assert(dstBuff_ == NULL, "Cannot set the src and dst buffers at the same time"); + xbt_assert(dstBuff_ == nullptr, "Cannot set the src and dst buffers at the same time"); srcBuff_ = buff; srcBuffSize_ = size; } -void s4u::Comm::setDstData(void ** buff) { +void Comm::setDstData(void ** buff) { xbt_assert(state_==inited); - xbt_assert(srcBuff_ == NULL, "Cannot set the src and dst buffers at the same time"); + xbt_assert(srcBuff_ == nullptr, "Cannot set the src and dst buffers at the same time"); dstBuff_ = buff; } -size_t s4u::Comm::getDstDataSize(){ +size_t Comm::getDstDataSize(){ xbt_assert(state_==finished); return dstBuffSize_; } -void s4u::Comm::setDstData(void ** buff, size_t size) { +void Comm::setDstData(void ** buff, size_t size) { xbt_assert(state_==inited); - xbt_assert(srcBuff_ == NULL, "Cannot set the src and dst buffers at the same time"); + xbt_assert(srcBuff_ == nullptr, "Cannot set the src and dst buffers at the same time"); dstBuff_ = buff; dstBuffSize_ = size; } -void s4u::Comm::start() { +void Comm::start() { xbt_assert(state_ == inited); - if (srcBuff_ != NULL) { // Sender side + if (srcBuff_ != nullptr) { // Sender side pimpl_ = simcall_comm_isend(sender_, mailbox_->getInferior(), remains_, rate_, srcBuff_, srcBuffSize_, matchFunction_, cleanFunction_, copyDataFunction_, userData_, detached_); - } else if (dstBuff_ != NULL) { // Receiver side + } else if (dstBuff_ != nullptr) { // Receiver side pimpl_ = simcall_comm_irecv(receiver_, mailbox_->getInferior(), dstBuff_, &dstBuffSize_, matchFunction_, copyDataFunction_, userData_, rate_); @@ -86,13 +88,13 @@ void s4u::Comm::start() { } state_ = started; } -void s4u::Comm::wait() { +void Comm::wait() { xbt_assert(state_ == started || state_ == inited); if (state_ == started) simcall_comm_wait(pimpl_, -1/*timeout*/); else {// p_state == inited. Save a simcall and do directly a blocking send/recv - if (srcBuff_ != NULL) { + if (srcBuff_ != nullptr) { simcall_comm_send(sender_, mailbox_->getInferior(), remains_, rate_, srcBuff_, srcBuffSize_, matchFunction_, copyDataFunction_, @@ -105,7 +107,7 @@ void s4u::Comm::wait() { } state_ = finished; } -void s4u::Comm::wait(double timeout) { +void Comm::wait(double timeout) { xbt_assert(state_ == started || state_ == inited); if (state_ == started) { @@ -115,7 +117,7 @@ void s4u::Comm::wait(double timeout) { } // It's not started yet. Do it in one simcall - if (srcBuff_ != NULL) { + if (srcBuff_ != nullptr) { simcall_comm_send(sender_, mailbox_->getInferior(), remains_, rate_, srcBuff_, srcBuffSize_, matchFunction_, copyDataFunction_, @@ -128,7 +130,7 @@ void s4u::Comm::wait(double timeout) { state_ = finished; } -s4u::Comm &s4u::Comm::send_async(Mailbox &dest, void *data, int simulatedSize) { +s4u::Comm &Comm::send_async(Mailbox &dest, void *data, int simulatedSize) { s4u::Comm &res = s4u::Comm::send_init(dest); res.setRemains(simulatedSize); res.srcBuff_ = data; @@ -137,10 +139,12 @@ s4u::Comm &s4u::Comm::send_async(Mailbox &dest, void *data, int simulatedSize) { return res; } -s4u::Comm &s4u::Comm::recv_async(Mailbox &dest, void **data) { +s4u::Comm &Comm::recv_async(Mailbox &dest, void **data) { s4u::Comm &res = s4u::Comm::recv_init(dest); res.setDstData(data); res.start(); return res; } +} +}