551d3fa9668d6e59fa1beaefe58c77f0073abba2
[govpp.git] / binapi / cnat / cnat_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package cnat
4
5 import (
6         "context"
7         "fmt"
8         "io"
9
10         api "git.fd.io/govpp.git/api"
11         memclnt "git.fd.io/govpp.git/binapi/memclnt"
12 )
13
14 // RPCService defines RPC service cnat.
15 type RPCService interface {
16         CnatGetSnatAddresses(ctx context.Context, in *CnatGetSnatAddresses) (*CnatGetSnatAddressesReply, error)
17         CnatSessionDump(ctx context.Context, in *CnatSessionDump) (RPCService_CnatSessionDumpClient, error)
18         CnatSessionPurge(ctx context.Context, in *CnatSessionPurge) (*CnatSessionPurgeReply, error)
19         CnatSetSnatAddresses(ctx context.Context, in *CnatSetSnatAddresses) (*CnatSetSnatAddressesReply, error)
20         CnatSetSnatPolicy(ctx context.Context, in *CnatSetSnatPolicy) (*CnatSetSnatPolicyReply, error)
21         CnatSnatPolicyAddDelExcludePfx(ctx context.Context, in *CnatSnatPolicyAddDelExcludePfx) (*CnatSnatPolicyAddDelExcludePfxReply, error)
22         CnatSnatPolicyAddDelIf(ctx context.Context, in *CnatSnatPolicyAddDelIf) (*CnatSnatPolicyAddDelIfReply, error)
23         CnatTranslationDel(ctx context.Context, in *CnatTranslationDel) (*CnatTranslationDelReply, error)
24         CnatTranslationDump(ctx context.Context, in *CnatTranslationDump) (RPCService_CnatTranslationDumpClient, error)
25         CnatTranslationUpdate(ctx context.Context, in *CnatTranslationUpdate) (*CnatTranslationUpdateReply, error)
26 }
27
28 type serviceClient struct {
29         conn api.Connection
30 }
31
32 func NewServiceClient(conn api.Connection) RPCService {
33         return &serviceClient{conn}
34 }
35
36 func (c *serviceClient) CnatGetSnatAddresses(ctx context.Context, in *CnatGetSnatAddresses) (*CnatGetSnatAddressesReply, error) {
37         out := new(CnatGetSnatAddressesReply)
38         err := c.conn.Invoke(ctx, in, out)
39         if err != nil {
40                 return nil, err
41         }
42         return out, api.RetvalToVPPApiError(out.Retval)
43 }
44
45 func (c *serviceClient) CnatSessionDump(ctx context.Context, in *CnatSessionDump) (RPCService_CnatSessionDumpClient, error) {
46         stream, err := c.conn.NewStream(ctx)
47         if err != nil {
48                 return nil, err
49         }
50         x := &serviceClient_CnatSessionDumpClient{stream}
51         if err := x.Stream.SendMsg(in); err != nil {
52                 return nil, err
53         }
54         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
55                 return nil, err
56         }
57         return x, nil
58 }
59
60 type RPCService_CnatSessionDumpClient interface {
61         Recv() (*CnatSessionDetails, error)
62         api.Stream
63 }
64
65 type serviceClient_CnatSessionDumpClient struct {
66         api.Stream
67 }
68
69 func (c *serviceClient_CnatSessionDumpClient) Recv() (*CnatSessionDetails, error) {
70         msg, err := c.Stream.RecvMsg()
71         if err != nil {
72                 return nil, err
73         }
74         switch m := msg.(type) {
75         case *CnatSessionDetails:
76                 return m, nil
77         case *memclnt.ControlPingReply:
78                 err = c.Stream.Close()
79                 if err != nil {
80                         return nil, err
81                 }
82                 return nil, io.EOF
83         default:
84                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
85         }
86 }
87
88 func (c *serviceClient) CnatSessionPurge(ctx context.Context, in *CnatSessionPurge) (*CnatSessionPurgeReply, error) {
89         out := new(CnatSessionPurgeReply)
90         err := c.conn.Invoke(ctx, in, out)
91         if err != nil {
92                 return nil, err
93         }
94         return out, api.RetvalToVPPApiError(out.Retval)
95 }
96
97 func (c *serviceClient) CnatSetSnatAddresses(ctx context.Context, in *CnatSetSnatAddresses) (*CnatSetSnatAddressesReply, error) {
98         out := new(CnatSetSnatAddressesReply)
99         err := c.conn.Invoke(ctx, in, out)
100         if err != nil {
101                 return nil, err
102         }
103         return out, api.RetvalToVPPApiError(out.Retval)
104 }
105
106 func (c *serviceClient) CnatSetSnatPolicy(ctx context.Context, in *CnatSetSnatPolicy) (*CnatSetSnatPolicyReply, error) {
107         out := new(CnatSetSnatPolicyReply)
108         err := c.conn.Invoke(ctx, in, out)
109         if err != nil {
110                 return nil, err
111         }
112         return out, api.RetvalToVPPApiError(out.Retval)
113 }
114
115 func (c *serviceClient) CnatSnatPolicyAddDelExcludePfx(ctx context.Context, in *CnatSnatPolicyAddDelExcludePfx) (*CnatSnatPolicyAddDelExcludePfxReply, error) {
116         out := new(CnatSnatPolicyAddDelExcludePfxReply)
117         err := c.conn.Invoke(ctx, in, out)
118         if err != nil {
119                 return nil, err
120         }
121         return out, api.RetvalToVPPApiError(out.Retval)
122 }
123
124 func (c *serviceClient) CnatSnatPolicyAddDelIf(ctx context.Context, in *CnatSnatPolicyAddDelIf) (*CnatSnatPolicyAddDelIfReply, error) {
125         out := new(CnatSnatPolicyAddDelIfReply)
126         err := c.conn.Invoke(ctx, in, out)
127         if err != nil {
128                 return nil, err
129         }
130         return out, api.RetvalToVPPApiError(out.Retval)
131 }
132
133 func (c *serviceClient) CnatTranslationDel(ctx context.Context, in *CnatTranslationDel) (*CnatTranslationDelReply, error) {
134         out := new(CnatTranslationDelReply)
135         err := c.conn.Invoke(ctx, in, out)
136         if err != nil {
137                 return nil, err
138         }
139         return out, api.RetvalToVPPApiError(out.Retval)
140 }
141
142 func (c *serviceClient) CnatTranslationDump(ctx context.Context, in *CnatTranslationDump) (RPCService_CnatTranslationDumpClient, error) {
143         stream, err := c.conn.NewStream(ctx)
144         if err != nil {
145                 return nil, err
146         }
147         x := &serviceClient_CnatTranslationDumpClient{stream}
148         if err := x.Stream.SendMsg(in); err != nil {
149                 return nil, err
150         }
151         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
152                 return nil, err
153         }
154         return x, nil
155 }
156
157 type RPCService_CnatTranslationDumpClient interface {
158         Recv() (*CnatTranslationDetails, error)
159         api.Stream
160 }
161
162 type serviceClient_CnatTranslationDumpClient struct {
163         api.Stream
164 }
165
166 func (c *serviceClient_CnatTranslationDumpClient) Recv() (*CnatTranslationDetails, error) {
167         msg, err := c.Stream.RecvMsg()
168         if err != nil {
169                 return nil, err
170         }
171         switch m := msg.(type) {
172         case *CnatTranslationDetails:
173                 return m, nil
174         case *memclnt.ControlPingReply:
175                 err = c.Stream.Close()
176                 if err != nil {
177                         return nil, err
178                 }
179                 return nil, io.EOF
180         default:
181                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
182         }
183 }
184
185 func (c *serviceClient) CnatTranslationUpdate(ctx context.Context, in *CnatTranslationUpdate) (*CnatTranslationUpdateReply, error) {
186         out := new(CnatTranslationUpdateReply)
187         err := c.conn.Invoke(ctx, in, out)
188         if err != nil {
189                 return nil, err
190         }
191         return out, api.RetvalToVPPApiError(out.Retval)
192 }