Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / rpc.svg @ 056e40d2

History | View | Annotate | Download (10.312 KB)

1 056e40d2 Thomas Schöpping
<?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="403px" preserveAspectRatio="none" style="width:655px;height:403px;" version="1.1" viewBox="0 0 655 403" width="655px" zoomAndPan="magnify"><defs><filter height="300%" id="f1647pblyzesul" 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(#f1647pblyzesul)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="81.5" y="331.9063"/><ellipse cx="249.75" cy="347.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M253.9844,343.6719 L248.7031,343.6719 L248.7031,346.3438 L253.5,346.3438 L253.5,348.5 L248.7031,348.5 L248.7031,353.9063 L246.2656,353.9063 L246.2656,341.5156 L253.9844,341.5156 L253.9844,343.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="270.25" y="352.0605">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="363.9063" y2="363.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="371.9063" y2="371.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="87.5" y="386.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(#f1647pblyzesul)" height="222.4609" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="212.5" y1="147.5273" y2="147.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="212.5" y="150.8354">URT_CFG_RPC_PROFLING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="401.5" x2="607" y1="147.5273" y2="147.5273"/><ellipse cx="17" cy="216.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="143" x="26" y="219.3589">minDuration : urt_delay_t</text><ellipse cx="17" cy="228.9531" 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="232.1636">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="80" y1="202.7461" y2="202.7461"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="80" y="206.0542">URT_CFG_RPC_PROFILING == true || URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="534" x2="607" y1="202.7461" y2="202.7461"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="238.7578" y2="238.7578"/><ellipse cx="17" cy="249.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="576" x="26" y="252.9683">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="17" cy="262.5625" 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="265.7729">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,137.6478 C634.7535,143.5599 643,151.3127 643,160.9063 C643,173.0645 629.7552,182.2663 608.0965,188.5116 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="608.0965,133.301,612.4551,139.0457,619.4344,137.2319,615.0758,131.4872,608.0965,133.301" 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="129.431">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="616.4131" y="186.1081">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
5
reverse link urt_service_t to urt_servicefunc_t--><path d="M307,285.053 C307,302.3835 307,318.7364 307,331.9027 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="307,271.971,303,277.971,307,283.971,311,277.971,307,271.971" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="298.7188" y="292.3629">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="280.375" y="320.6923">0..1</text><!--MD5=[59be54564a027488cb1cee1676c8d625]
6 4d55cea4 Thomas Schöpping
@startuml
7
8
title **µRtWare**\nRemote Procedure Call System
9
10
11
12
13
14
15
16
17
18
19
20
21
22 056e40d2 Thomas Schöpping
  class urt_servicefunc_t <<F,E0E0E0>> {
23
  urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
24 4d55cea4 Thomas Schöpping
}
25
26 056e40d2 Thomas Schöpping
  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_PROFLING == true ..
32
  + {field} sumDurations : uint64_t
33
  + {field} numCalls : uint64_t
34
  + {field} numTimeouts : uint64_t
35
  .. URT_CFG_RPC_PROFILING == true || URT_CFG_RPC_QOS_JITTERCHECKS == true ..
36
  + {field} minDuration : urt_delay_t
37
  + {field} maxDuration : urt_delay_t
38 4d55cea4 Thomas Schöpping
  __
39 056e40d2 Thomas Schöpping
  + {method} urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t
40
  + {method} urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
41 4d55cea4 Thomas Schöpping
}
42
43
44
45
46
urt_service_t "1" o- - "0..1" urt_service_t
47
urt_service_t "1" o- - "0..1" urt_servicefunc_t
48
49
50
51
@enduml
52
53
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
54
(GPL source distribution)
55
Java Runtime: OpenJDK Runtime Environment
56
JVM: OpenJDK 64-Bit Server VM
57
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
58
Operating System: Linux
59
Default Encoding: UTF-8
60
Language: en
61
Country: US
62
--></g></svg>