#ifndef SIMGRID_MC_CLIENT_H
#define SIMGRID_MC_CLIENT_H
-#include <cstddef>
+#include "src/internal_config.h"
+#include <cstddef>
#include <memory>
#include <xbt/base.h>
namespace simgrid {
namespace mc {
+/** Model-checked-side of the communication protocol
+ *
+ * Send messages to the model-checker and handles message from it.
+ */
class XBT_PUBLIC() Client {
private:
bool active_ = false;
static std::unique_ptr<Client> client_;
public:
Client();
- Client(int fd) : active_(true), channel_(fd) {}
+ explicit Client(int fd) : active_(true), channel_(fd) {}
void handleMessages();
Channel const& getChannel() const { return channel_; }
Channel& getChannel() { return channel_; }
void ignoreHeap(void* addr, std::size_t size);
void unignoreHeap(void* addr, std::size_t size);
void declareSymbol(const char *name, int* value);
+#if HAVE_UCONTEXT_H
void declareStack(void *stack, size_t size, smx_process_t process, ucontext_t* context);
+#endif
// Singleton :/
// TODO, remove the singleton antipattern.