/' µRtWare is a lightweight publish/subscribe middleware for real-time applications. It was developed as part of the software habitat for the Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well. Copyright (C) 2018..2020 Thomas Schöpping et al. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . '/ /'### INTRO ##################################################################'/ @startuml title **µRtWare**\nurtNrtRequestSubmit()\n /'### PARAMETERS & RETURN ####################################################'/ note -- **request** : urt_nrtrequest_t* -- The request to be used for this call. Must not be ""NULL"". Must have been acquired before. -- **service** : urt_service_t* -- The service to be called. Must not be ""NULL"". ==== -- **return** : urt_status_t -- Always returns ""URT_STATUS_OK"". endnote /'### PROCEDURE ##############################################################'/ start :lock service; fork partition "append request" { fork if (Service already holds requests?) then (yes) fork :set the ""prev"" pointer of this request to ""requestQueue_back""; fork again :set the ""next"" pointer of the last request to this request; endfork else (no) :set the ""requestQueue_front"" pointer to this request; endif fork again :set the ""requestQueue_back"" pointer to this request; endfork } fork again :set the service as request owner; endfork :unlock request; :fire event (@service); :unlock service; stop note Returns ""URT_STATUS_OK"". endnote /'### OUTRO ##################################################################'/ @enduml