-/* Copyright (c) 2015-2017. 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. */
#ifndef SIMGRID_MC_CLIENT_H
#define SIMGRID_MC_CLIENT_H
-#include "src/internal_config.h"
+#include "src/mc/remote/Channel.hpp"
-#include <cstddef>
#include <memory>
-#include <xbt/base.h>
-
-#include <simgrid/simix.h>
-
-#include "src/mc/remote/Channel.hpp"
-#include "src/mc/remote/mc_protocol.h"
-
namespace simgrid {
namespace mc {
*
* Send messages to the model-checker and handles message from it.
*/
-class XBT_PUBLIC() Client {
+class XBT_PUBLIC Client {
private:
Channel channel_;
static std::unique_ptr<Client> instance_;
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);