-
Notifications
You must be signed in to change notification settings - Fork 126
/
Copy pathHelloUnblock.siml
90 lines (90 loc) · 4.6 KB
/
HelloUnblock.siml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ServiceInterface FormatVersion="1.0.0">
<Overview ID="1" Name="HelloUnblock" Version="1.0.0" isRemote="true">
<Description>Simple Service Interface to demonstrate working features of AREG SDK.
In this example the client sends a request each 200 ms and the service replies each 500,
so that when the client sends next request, there is always a pending request on the service.
To process the request and make correct reply, the service manually unblocks the request
and when timeout is expired, sends the response.
The service is stopped and the application is shutdown when there is no more pending request.</Description>
</Overview>
<DataTypeList>
<DataType ID="20" Name="eServiceState" Type="Enumerate" Values="default">
<Description>The state of the service</Description>
<FieldList>
<EnumEntry ID="21" Name="ServiceUndefined">
<Value/>
<Description>Invalid undefined state</Description>
</EnumEntry>
<EnumEntry ID="22" Name="ServiceActive">
<Value/>
<Description>Service is up and running, ready to process.</Description>
</EnumEntry>
<EnumEntry ID="23" Name="ServiceShutdown">
<Value/>
<Description>Service completed job and will not process anymore. </Description>
</EnumEntry>
</FieldList>
</DataType>
</DataTypeList>
<AttributeList>
<Attribute DataType="eServiceState" ID="24" Name="HelloServiceState" Notify="OnChange">
<Description>The state of the service.</Description>
</Attribute>
</AttributeList>
<MethodList>
<Method ID="33" MethodType="request" Name="Identifier" Response="Identifier">
<Description>Request to assign an ID to the client used to call unblock request.</Description>
</Method>
<Method ID="34" MethodType="response" Name="Identifier">
<Description>Sent to set ID for client.</Description>
<ParamList>
<Parameter DataType="uint32" ID="35" Name="clientId">
<Description>Generated ID for the client used when send request to unblock.</Description>
</Parameter>
</ParamList>
</Method>
<Method ID="7" MethodType="request" Name="HelloUblock" Response="HelloUnblock">
<Description>Request to print hello world</Description>
<ParamList>
<Parameter DataType="uint32" ID="25" Name="clientId">
<Description>The given ID of the client. Should be 0 if unknown</Description>
</Parameter>
<Parameter DataType="uint32" ID="30" Name="seqNr">
<Description>The sequence number generated by the client. On each request the client increase the sequence number
and stops sending request when reach the maximum.</Description>
</Parameter>
</ParamList>
</Method>
<Method ID="10" MethodType="response" Name="HelloUnblock">
<Description>The response to hello world request.</Description>
<ParamList>
<Parameter DataType="uint32" ID="26" Name="clientId">
<Description>The ID of the client to send the response. Never is 0.</Description>
</Parameter>
<Parameter DataType="uint32" ID="31" Name="seqNr">
<Description>The sequence number created by the client. On reply the service sends the sequence number so that
the client can check that all sequences exist.</Description>
</Parameter>
</ParamList>
</Method>
</MethodList>
<ConstantList>
<Constant DataType="int16" ID="18" Name="MaxMessages">
<Value>100</Value>
<Description>The maximum number of messages to output.</Description>
</Constant>
<Constant DataType="uint32" ID="28" Name="ClientTimeot">
<Value>200</Value>
<Description>The timeout in milliseconds where the client send a request</Description>
</Constant>
<Constant DataType="uint32" ID="29" Name="ServiceTimeout">
<Value>500</Value>
<Description>Timeout where the service replies with the response</Description>
</Constant>
<Constant DataType="uint32" ID="32" Name="InvalidId">
<Value>0</Value>
<Description>The invalid ID</Description>
</Constant>
</ConstantList>
</ServiceInterface>