blob: 6acead06a767ebeeca1378c96b2b49a1374007b2 [file] [log] [blame]
Harald Welte7f26f552018-02-23 09:38:15 +01001module TRXC_CodecPort {
2
3import from IPL4asp_PortType all;
4import from IPL4asp_Types all;
5import from TRXC_Types all;
6
7type record TRXC_RecvFrom {
8 ConnectionId connId,
9 HostName remName,
10 PortNumber remPort,
11 HostName locName,
12 PortNumber locPort,
13 TrxcMessage msg
14}
15
16template TRXC_RecvFrom tr_TRXC_RecvFrom(template TrxcMessage msg) := {
17 connId := ?,
18 remName := ?,
19 remPort := ?,
20 locName := ?,
21 locPort := ?,
22 msg := msg
23}
24
25type record TRXC_Send {
26 ConnectionId connId,
27 TrxcMessage msg
28}
29
30private function IPL4_to_TRXC_RecvFrom(in ASP_RecvFrom pin, out TRXC_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_TrxcMessage(oct2char(pin.msg));
37} with { extension "prototype(fast)" };
38
39private function TRXC_to_IPL4_Send(in TRXC_Send pin, out ASP_Send pout) {
40 pout.connId := pin.connId;
41 pout.proto := { udp := {} };
42 pout.msg := char2oct(enc_TrxcMessage(pin.msg));
43} with { extension "prototype(fast)" };
44
45type port TRXC_CODEC_PT message {
46 out TRXC_Send;
47 in TRXC_RecvFrom,
48 ASP_ConnId_ReadyToRelease,
49 ASP_Event;
50} with { extension "user IPL4asp_PT
51 out(TRXC_Send -> ASP_Send: function(TRXC_to_IPL4_Send))
52 in(ASP_RecvFrom -> TRXC_RecvFrom: function(IPL4_to_TRXC_RecvFrom);
53 ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple;
54 ASP_Event -> ASP_Event: simple)"
55}
56
57template (value) TRXC_Send ts_TRXC_Send(ConnectionId cid, template (value) TrxcMessage msg) := {
58 connId := cid,
59 msg := msg
60}
61
62}