namespace simgrid {
namespace mc {
-class CommSendTransition;
class CommRecvTransition;
+class CommSendTransition;
+class CommTestTransition;
class CommWaitTransition : public Transition {
bool timeout_;
void* src_buff_;
void* dst_buff_;
size_t size_;
- friend CommSendTransition;
friend CommRecvTransition;
+ friend CommSendTransition;
+ friend CommTestTransition;
public:
CommWaitTransition(aid_t issuer, int times_considered, char* buffer);
std::string to_string(bool verbose) const override;
bool depends(const Transition* other) const override;
};
+class CommTestTransition : public Transition {
+ void* comm_;
+ aid_t sender_;
+ aid_t receiver_;
+ unsigned mbox_;
+ void* src_buff_;
+ void* dst_buff_;
+ size_t size_;
+ friend CommSendTransition;
+ friend CommRecvTransition;
+
+public:
+ CommTestTransition(aid_t issuer, int times_considered, char* buffer);
+ std::string to_string(bool verbose) const override;
+ bool depends(const Transition* other) const override;
+};
class CommRecvTransition : public Transition {
unsigned mbox_;