urtware / doc / activitydiagrams / subscriber / srtsubscriber / urtSrtSubscriberUnsubscribe.uml @ 6c5df8c1
History | View | Annotate | Download (2.167 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 | ee83a495 | Thomas Schöpping | title **µRtWare**\nurtSrtSubscriberUnsubscribe()\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 | -- **subscriber** : urt_srtsubscriber_t* --  | 
      
| 32 | The SRT subscriber to be unsubscribed.  | 
      ||
| 33 | 7491c395 | Thomas Schöpping | Must not be ""NULL"".  | 
      
| 34 | ee83a495 | Thomas Schöpping | ====  | 
      
| 35 | -- **return** : urt_status_t --  | 
      ||
| 36 | Returns ""URT_STATUS_OK"" on sucess.  | 
      ||
| 37 | dd31cb03 | Thomas Schöpping | Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.  | 
      
| 38 | ee83a495 | Thomas Schöpping | endnote  | 
      
| 39 | 7491c395 | Thomas Schöpping | |
| 40 | /'### PROCEDURE ##############################################################'/  | 
      ||
| 41 | |||
| 42 | ee83a495 | Thomas Schöpping | start  | 
      
| 43 | if (Associated to a topic?) then (yes)  | 
      ||
| 44 | dd31cb03 | Thomas Schöpping | #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;  | 
      
| 45 | fork  | 
      ||
| 46 | :unregister event;  | 
      ||
| 47 | fork again  | 
      ||
| 48 | #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);  | 
      ||
| 49 | endfork  | 
      ||
| 50 | #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;  | 
      ||
| 51 | ee83a495 | Thomas Schöpping | :reset members;  | 
      
| 52 | note  | 
      ||
| 53 | -- urt_basesubscriber_t --  | 
      ||
| 54 | dd31cb03 | Thomas Schöpping | * **topic** ← ""NULL""  | 
      
| 55 | * **lastMessage** ← ""NULL""  | 
      ||
| 56 | * **lastMessageTime** ← 0  | 
      ||
| 57 | ee83a495 | Thomas Schöpping | endnote  | 
      
| 58 | stop  | 
      ||
| 59 | note  | 
      ||
| 60 | Returns ""URT_STATUS_OK"".  | 
      ||
| 61 | endnote  | 
      ||
| 62 | else (no)  | 
      ||
| 63 | stop  | 
      ||
| 64 | note  | 
      ||
| 65 | dd31cb03 | Thomas Schöpping | Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".  | 
      
| 66 | ee83a495 | Thomas Schöpping | endnote  | 
      
| 67 | 7491c395 | Thomas Schöpping | endif  | 
      
| 68 | |||
| 69 | /'### OUTRO ##################################################################'/  | 
      ||
| 70 | |||
| 71 | @enduml  |