blob: e7396b5656185cea3382ce5c38f4b4024ffd54a9 [file] [log] [blame]
Daniel Willmann74237282020-08-12 12:44:04 +02001module StatsD_CodecPort {
2
3import from StatsD_Types all;
4import from IPL4asp_PortType all;
5import from IPL4asp_Types all;
6
7type record StatsD_RecvFrom {
8 ConnectionId connId,
9 HostName remName,
10 PortNumber remPort,
11 HostName locName,
12 PortNumber locPort,
13 StatsDMessage msg
14}
15
16template StatsD_RecvFrom tr_StatsD_RecvFrom(template ConnectionId cid, template StatsDMessage msg) := {
17 connId := cid,
18 remName := ?,
19 remPort := ?,
20 locName := ?,
21 locPort := ?,
22 msg := msg
23}
24
25type record StatsD_Send {
26 ConnectionId connId,
27 StatsDMessage msg
28}
29
30private function IPL4_to_StatsD_RecvFrom(in ASP_RecvFrom pin, out StatsD_RecvFrom pout) {
31 pout.connId := pin.connId;
32 pout.remName := pin.remName;
33 pout.remPort := pin.remPort;
34 pout.locName := pin.locName;
35 pout.locPort := pin.locPort;
36 pout.msg := dec_StatsDMessage(oct2char(pin.msg));
37} with { extension "prototype(fast)" };
38
39private function StatsD_to_IPL4_Send(in StatsD_Send pin, out ASP_Send pout) {
40 pout.connId := pin.connId;
41 pout.proto := { udp := {} };
42 pout.msg := char2oct(enc_StatsDMessage(pin.msg));
43} with { extension "prototype(fast)" };
44
45type port STATSD_CODEC_PT message {
46 out StatsD_Send;
47 in StatsD_RecvFrom,
48 ASP_ConnId_ReadyToRelease,
49 ASP_Event;
50} with { extension "user IPL4asp_PT
51 out(StatsD_Send -> ASP_Send: function(StatsD_to_IPL4_Send))
52 in(ASP_RecvFrom -> StatsD_RecvFrom: function(IPL4_to_StatsD_RecvFrom);
53 ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple;
54 ASP_Event -> ASP_Event: simple)"
55}
56
57}