Revision dd31cb03 doc/activitydiagrams/subscriber/functions.iuml
doc/activitydiagrams/subscriber/functions.iuml | ||
---|---|---|
25 | 25 |
fork |
26 | 26 |
:update message pointer; |
27 | 27 |
fork again |
28 |
:copy timestamp of message;
|
|
28 |
:copy message origin time;
|
|
29 | 29 |
fork again |
30 | 30 |
:copy message payload; |
31 |
fork again |
|
32 |
if (Optional output argument ""latency"" given?) then (yes) |
|
33 |
:set ""latency"" value (now - message origin time); |
|
34 |
else (no) |
|
35 |
endif |
|
36 | 31 |
endfork |
37 | 32 |
} |
38 | 33 |
!endfunction |
... | ... | |
40 | 35 |
/' Find the latest message in the circular message buffer. '/ |
41 | 36 |
!function $find_latest_message() |
42 | 37 |
partition "find latest message" { |
43 |
:access last read message;
|
|
38 |
:access ""lastMessage"";
|
|
44 | 39 |
while (Timestamp of next message is younger?) is (yes) |
45 |
:proceed to next message; |
|
40 |
fork |
|
41 |
:proceed to next message; |
|
42 |
#EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message); |
|
43 |
fork again |
|
44 |
#EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of received messages; |
|
45 |
endfork |
|
46 | 46 |
endwhile (no) |
47 | 47 |
} |
48 | 48 |
!endfunction |
... | ... | |
53 | 53 |
if (Timestamp of last read message euqals local copy?) then (yes) |
54 | 54 |
else (no) |
55 | 55 |
while (Timestamp of next message is younger?) is (yes) |
56 |
#EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message); |
|
56 | 57 |
:proceed to next message; |
57 | 58 |
endwhile (no) |
58 | 59 |
endif |
60 |
#EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message); |
|
59 | 61 |
:proceed to next message; |
60 | 62 |
} |
61 | 63 |
!endfunction |
Also available in: Unified diff