Revision e7056e1b doc/activitydiagrams/subscriber/functions.iuml
| doc/activitydiagrams/subscriber/functions.iuml | ||
|---|---|---|
| 20 | 20 |
'/ |
| 21 | 21 |
|
| 22 | 22 |
/' Fetch a message and update/copy all data. '/ |
| 23 |
!function $fetch_message()
|
|
| 23 |
!procedure $fetch_message()
|
|
| 24 | 24 |
partition "fetch message" {
|
| 25 | 25 |
fork |
| 26 | 26 |
:update message pointer; |
| ... | ... | |
| 30 | 30 |
:copy message payload; |
| 31 | 31 |
endfork |
| 32 | 32 |
} |
| 33 |
!endfunction
|
|
| 33 |
!endprocedure
|
|
| 34 | 34 |
|
| 35 | 35 |
/' Find the latest message in the circular message buffer. '/ |
| 36 |
!function $find_latest_message()
|
|
| 36 |
!procedure $find_latest_message()
|
|
| 37 | 37 |
partition "find latest message" {
|
| 38 | 38 |
:access ""lastMessage""; |
| 39 | 39 |
while (Timestamp of next message is younger?) is (yes) |
| ... | ... | |
| 45 | 45 |
endfork |
| 46 | 46 |
endwhile (no) |
| 47 | 47 |
} |
| 48 |
!endfunction
|
|
| 48 |
!endprocedure
|
|
| 49 | 49 |
|
| 50 | 50 |
/' Find the oldest message in the circular message buffer. '/ |
| 51 |
!function $find_oldest_message()
|
|
| 51 |
!procedure $find_oldest_message()
|
|
| 52 | 52 |
partition "find oldest valid message" {
|
| 53 | 53 |
if (Timestamp of last read message euqals local copy?) then (yes) |
| 54 | 54 |
else (no) |
| ... | ... | |
| 60 | 60 |
#EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message); |
| 61 | 61 |
:proceed to next message; |
| 62 | 62 |
} |
| 63 |
!endfunction |
|
| 64 |
|
|
| 63 |
!endprocedure |
|
Also available in: Unified diff