X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/831d719023e7a0af690f54db87a5e6ba4802ede3..bd031688c75b0120d21a705ae3ee325ca0718530:/src/mc/remote/Client.hpp diff --git a/src/mc/remote/Client.hpp b/src/mc/remote/Client.hpp index 7770b65324..ddbdb979bc 100644 --- a/src/mc/remote/Client.hpp +++ b/src/mc/remote/Client.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2015-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -7,18 +6,10 @@ #ifndef SIMGRID_MC_CLIENT_H #define SIMGRID_MC_CLIENT_H -#include "src/internal_config.h" +#include "src/mc/remote/Channel.hpp" -#include #include -#include - -#include - -#include "src/mc/remote/Channel.hpp" -#include "src/mc/remote/mc_protocol.h" - namespace simgrid { namespace mc { @@ -26,20 +17,19 @@ namespace mc { * * Send messages to the model-checker and handles message from it. */ -class XBT_PUBLIC() Client { +class XBT_PUBLIC Client { private: - bool active_ = false; Channel channel_; static std::unique_ptr instance_; public: Client(); - explicit Client(int fd) : active_(true), channel_(fd) {} + explicit Client(int fd) : channel_(fd) {} void handleMessages(); private: - void handleDeadlockCheck(mc_message_t* msg); - void handleContinue(mc_message_t* msg); + void handleDeadlockCheck(s_mc_message_t* msg); + void handleContinue(s_mc_message_t* msg); void handleSimcall(s_mc_message_simcall_handle_t* message); void handleRestore(s_mc_message_restore_t* msg); void handleActorEnabled(s_mc_message_actor_enabled_t* msg); @@ -47,8 +37,8 @@ private: public: Channel const& getChannel() const { return channel_; } Channel& getChannel() { return channel_; } - void mainLoop(); - void reportAssertionFailure(const char* description = nullptr); + XBT_ATTRIB_NORETURN void mainLoop(); + void reportAssertionFailure(); void ignoreMemory(void* addr, std::size_t size); void ignoreHeap(void* addr, std::size_t size); void unignoreHeap(void* addr, std::size_t size);