Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / rpc.svg @ dd31cb03

History | View | Annotate | Download (9.799 KB)

1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="387px" preserveAspectRatio="none" style="width:655px;height:387px;" version="1.1" viewBox="0 0 655 387" width="655px" zoomAndPan="magnify"><defs><filter height="300%" id="f1mxz0fta70cve" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="286" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="277" x="192" y="37.6611">Remote Procedure Call System</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
2
class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f1mxz0fta70cve)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="81.5" y="315.9063"/><ellipse cx="249.75" cy="331.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M253.9844,327.6719 L248.7031,327.6719 L248.7031,330.3438 L253.5,330.3438 L253.5,332.5 L248.7031,332.5 L248.7031,337.9063 L246.2656,337.9063 L246.2656,325.5156 L253.9844,325.5156 L253.9844,327.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="270.25" y="336.0605">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="347.9063" y2="347.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="355.9063" y2="355.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="87.5" y="370.1167">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
3
class urt_service_t--><rect fill="#FEFECE" filter="url(#f1mxz0fta70cve)" height="205.6563" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="6" y="49.9063"/><ellipse cx="263.25" cy="65.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M262.7344,66.4688 Q260.875,65.7656 260.2188,65 Q259.5781,64.2188 259.5781,62.9063 Q259.5781,61.2188 260.6563,60.25 Q261.7344,59.2813 263.6094,59.2813 Q264.4688,59.2813 265.3125,59.4844 Q266.1719,59.6719 267.0156,60.0625 L267.0156,62.4531 Q266.2344,61.8906 265.4063,61.6094 Q264.5938,61.3125 263.7969,61.3125 Q262.9219,61.3125 262.4375,61.6719 Q261.9688,62.0313 261.9688,62.6875 Q261.9688,63.2031 262.3125,63.5469 Q262.6563,63.875 263.75,64.2813 L264.8125,64.6875 Q266.2969,65.2344 267,66.1406 Q267.7188,67.0469 267.7188,68.4219 Q267.7188,70.2969 266.6094,71.2188 Q265.5,72.1406 263.25,72.1406 Q262.3281,72.1406 261.4063,71.9219 Q260.4844,71.7031 259.625,71.2813 L259.625,68.75 Q260.5938,69.4375 261.5156,69.7813 Q262.4375,70.125 263.3281,70.125 Q264.2344,70.125 264.7344,69.7188 Q265.2344,69.2969 265.2344,68.5625 Q265.2344,68 264.8906,67.5938 Q264.5625,67.1719 263.9375,66.9219 L262.7344,66.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="283.75" y="70.0605">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="81.9063" y2="81.9063"/><ellipse cx="17" cy="92.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="26" y="96.1167">next : urt_service_t*</text><ellipse cx="17" cy="105.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="26" y="108.9214">id : urt_serviceid_t</text><ellipse cx="17" cy="118.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="26" y="121.7261">lock : urt_osMutex_t</text><ellipse cx="17" cy="131.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="26" y="134.5308">callback : urt_servicefunc_t*</text><ellipse cx="17" cy="160.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="26" y="164.1401">sumDurations : uint64_t</text><ellipse cx="17" cy="173.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="26" y="176.9448">numCalls : uint64_t</text><ellipse cx="17" cy="186.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="26" y="189.7495">numTimeouts : uint64_t</text><ellipse cx="17" cy="199.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="26" y="202.5542">minDuration : urt_delay_t</text><ellipse cx="17" cy="212.1484" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="26" y="215.3589">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="211" y1="147.5273" y2="147.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="211" y="150.8354">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="403" x2="607" y1="147.5273" y2="147.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="221.9531" y2="221.9531"/><ellipse cx="17" cy="232.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="26" y="236.1636">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="17" cy="245.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="26" y="248.9683">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[05f2c35569573d3273c65d3342945557]
4
reverse link urt_service_t to urt_service_t--><path d="M620.6339,130.5781 C634.7535,136.2537 643,143.6965 643,152.9063 C643,164.5782 629.7552,173.4119 608.0965,179.4074 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="608.0965,126.4051,612.5263,132.0952,619.4824,130.1947,615.0527,124.5046,608.0965,126.4051" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="616.2006" y="122.5752">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="616.4131" y="176.9853">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
5
reverse link urt_service_t to urt_servicefunc_t--><path d="M307,269.3595 C307,286.4366 307,302.6584 307,315.7732 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="307,256.1712,303,262.1712,307,268.1712,311,262.1712,307,256.1712" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="298.7313" y="275.6961">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="280.525" y="305.0089">0..1</text><!--MD5=[53df50d95b69ed2513ef266da8b5a822]
6
@startuml
7

    
8
title **µRtWare**\nRemote Procedure Call System
9

    
10

    
11

    
12

    
13

    
14

    
15

    
16

    
17

    
18

    
19

    
20

    
21

    
22
  class urt_servicefunc_t <<F,E0E0E0>> {
23
  urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
24
}
25

    
26
  class urt_service_t <<S,BFAFFF>> {
27
  + {field} next : urt_service_t*
28
  + {field} id : urt_serviceid_t
29
  + {field} lock : urt_osMutex_t
30
  + {field} callback : urt_servicefunc_t*
31
  .. URT_CFG_RPC_PROFILING == true ..
32
  + {field} sumDurations : uint64_t
33
  + {field} numCalls : uint64_t
34
  + {field} numTimeouts : uint64_t
35
  + {field} minDuration : urt_delay_t
36
  + {field} maxDuration : urt_delay_t
37
  __
38
  + {method} urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t
39
  + {method} urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
40
}
41

    
42

    
43

    
44

    
45
urt_service_t "1" o- - "0..1" urt_service_t
46
urt_service_t "1" o- - "0..1" urt_servicefunc_t
47

    
48

    
49

    
50
@enduml
51

    
52
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
53
(GPL source distribution)
54
Java Runtime: OpenJDK Runtime Environment
55
JVM: OpenJDK 64-Bit Server VM
56
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
57
Operating System: Linux
58
Default Encoding: UTF-8
59
Language: en
60
Country: US
61
--></g></svg>