X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/64e7c8f9110c7054fa1ea365b750c737171c66ef..49fc6d8c6a29c5da6aa35c1427e93134454fafbb:/src/smpi/smpi_request.hpp diff --git a/src/smpi/smpi_request.hpp b/src/smpi/smpi_request.hpp index 561dbf509e..06e28da71d 100644 --- a/src/smpi/smpi_request.hpp +++ b/src/smpi/smpi_request.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013-2015. The SimGrid Team. +/* Copyright (c) 2010, 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -12,7 +12,7 @@ namespace simgrid{ namespace smpi{ -class Request { +class Request : public F2C{ private : void *buf_; /* in the case of non-contiguous memory the user address should be keep @@ -39,7 +39,7 @@ class Request { int refcount_; MPI_Op op_; public: - Request(); + Request()=default; Request(void *buf, int count, MPI_Datatype datatype, int src, int dst, int tag, MPI_Comm comm, unsigned flags); MPI_Comm comm(); size_t size(); @@ -53,7 +53,7 @@ class Request { void start(); static void finish_wait(MPI_Request* request, MPI_Status * status); - static void unuse(MPI_Request* request); + static void unref(MPI_Request* request); static void wait(MPI_Request* req, MPI_Status * status); static MPI_Request send_init(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm); static MPI_Request isend_init(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm); @@ -90,8 +90,14 @@ class Request { static int match_send(void* a, void* b,smx_activity_t ignored); static int match_recv(void* a, void* b,smx_activity_t ignored); + + int add_f(); + static void free_f(int id); + static Request* f2c(int); + }; + } }