Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / service / urtServiceAcquireRequest.uml @ e566c39e

History | View | Annotate | Download (1.932 KB)

1 7491c395 Thomas Schöpping
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21
22
/'### INTRO ##################################################################'/
23
24
@startuml
25
26 2d315870 Thomas Schöpping
title **µRtWare**\nurtServiceAcquireRequest()\n
27 7491c395 Thomas Schöpping
28 ee83a495 Thomas Schöpping
/'### PARAMETERS & RETURN ####################################################'/
29 7491c395 Thomas Schöpping
30
note
31 ee83a495 Thomas Schöpping
  -- **service** : urt_service_t* --
32 2d315870 Thomas Schöpping
  The service that shall acquire the request.
33
  Must not be ""NULL"".
34
  -- **request** : urt_baserequest_t* --
35
  The request to be acquired.
36 7491c395 Thomas Schöpping
  Must not be ""NULL"".
37 ee83a495 Thomas Schöpping
  ====
38
  -- **return** : urt_status_t --
39 2d315870 Thomas Schöpping
  Returns ""URT_STATUS_OK"" in case of success.
40
  Returns ""URT_STATUS_REQUEST_BADOWNER"" if the service has lost ownership of the request.
41 ee83a495 Thomas Schöpping
endnote
42 7491c395 Thomas Schöpping
43
/'### PROCEDURE ##############################################################'/
44
45 ee83a495 Thomas Schöpping
start
46 2d315870 Thomas Schöpping
:lock request;
47 7491c395 Thomas Schöpping
note
48 2d315870 Thomas Schöpping
  Execution is blocked until mutex is locked.
49 ee83a495 Thomas Schöpping
endnote
50 2d315870 Thomas Schöpping
if (This service is owner of the request?) then (yes)
51
  stop
52
  note
53
    Returns ""URT_STATUS_OK"".
54
  endnote
55
else (no)
56
  :unlock request;
57
  stop
58
  note
59
    Returns ""URT_STATUS_REQUEST_BADOWNER"".
60
  endnote
61
endif
62 7491c395 Thomas Schöpping
63
/'### OUTRO ##################################################################'/
64
65
@enduml