Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of https://framagit.org/simgrid/simgrid into no_simix_global
[simgrid.git] / examples / cpp / comm-failure / s4u-comm-failure.tesh
1 #!/usr/bin/env tesh
2
3 $ ${bindir:=.}/s4u-comm-failure "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
4 > [  0.000000] (4:LinkKiller@Host1) LinkKiller  sleeping 10 seconds...
5 > [  0.000000] (2:Receiver@Host2) Receiver posting a receive...
6 > [  0.000000] (3:Receiver@Host3) Receiver posting a receive...
7 > [  0.000000] (1:Sender@Host1) Initiating asynchronous send to mailbox2
8 > [  0.000000] (1:Sender@Host1) Initiating asynchronous send to mailbox3
9 > [  0.000000] (1:Sender@Host1) Calling wait_any..
10 > [ 10.000000] (4:LinkKiller@Host1) LinkKiller turning off link linkto2
11 > [ 10.000000] (4:LinkKiller@Host1) LinkKiller killed. exiting
12 > [ 10.000000] (2:Receiver@Host2) Receiver has experience a network failure exception
13 > [ 10.000000] (1:Sender@Host1) Sender has experienced a network failure exception, so it knows that something went wrong
14 > [ 10.000000] (1:Sender@Host1) Now it needs to figure out which of the two comms failed by looking at their state
15 > [ 10.000000] (1:Sender@Host1) Comm to mailbox2 has state: FAILED
16 > [ 10.000000] (1:Sender@Host1) Comm to mailbox3 has state: STARTED
17 > [ 10.000000] (1:Sender@Host1) Waiting on a FAILED comm raises an exception: 'Cannot wait for a failed communication'
18 > [ 10.000000] (1:Sender@Host1) Wait for remaining comm, just to be nice
19 > [ 16.494845] (3:Receiver@Host3) Receiver has received successfully!