Change module name to go.fd.io/govpp
[govpp.git] / binapi / gtpu / gtpu_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package gtpu
4
5 import (
6         "context"
7         "fmt"
8         "io"
9
10         api "go.fd.io/govpp/api"
11         memclnt "go.fd.io/govpp/binapi/memclnt"
12 )
13
14 // RPCService defines RPC service gtpu.
15 type RPCService interface {
16         GtpuAddDelTunnel(ctx context.Context, in *GtpuAddDelTunnel) (*GtpuAddDelTunnelReply, error)
17         GtpuOffloadRx(ctx context.Context, in *GtpuOffloadRx) (*GtpuOffloadRxReply, error)
18         GtpuTunnelDump(ctx context.Context, in *GtpuTunnelDump) (RPCService_GtpuTunnelDumpClient, error)
19         GtpuTunnelUpdateTteid(ctx context.Context, in *GtpuTunnelUpdateTteid) (*GtpuTunnelUpdateTteidReply, error)
20         SwInterfaceSetGtpuBypass(ctx context.Context, in *SwInterfaceSetGtpuBypass) (*SwInterfaceSetGtpuBypassReply, error)
21 }
22
23 type serviceClient struct {
24         conn api.Connection
25 }
26
27 func NewServiceClient(conn api.Connection) RPCService {
28         return &serviceClient{conn}
29 }
30
31 func (c *serviceClient) GtpuAddDelTunnel(ctx context.Context, in *GtpuAddDelTunnel) (*GtpuAddDelTunnelReply, error) {
32         out := new(GtpuAddDelTunnelReply)
33         err := c.conn.Invoke(ctx, in, out)
34         if err != nil {
35                 return nil, err
36         }
37         return out, api.RetvalToVPPApiError(out.Retval)
38 }
39
40 func (c *serviceClient) GtpuOffloadRx(ctx context.Context, in *GtpuOffloadRx) (*GtpuOffloadRxReply, error) {
41         out := new(GtpuOffloadRxReply)
42         err := c.conn.Invoke(ctx, in, out)
43         if err != nil {
44                 return nil, err
45         }
46         return out, api.RetvalToVPPApiError(out.Retval)
47 }
48
49 func (c *serviceClient) GtpuTunnelDump(ctx context.Context, in *GtpuTunnelDump) (RPCService_GtpuTunnelDumpClient, error) {
50         stream, err := c.conn.NewStream(ctx)
51         if err != nil {
52                 return nil, err
53         }
54         x := &serviceClient_GtpuTunnelDumpClient{stream}
55         if err := x.Stream.SendMsg(in); err != nil {
56                 return nil, err
57         }
58         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
59                 return nil, err
60         }
61         return x, nil
62 }
63
64 type RPCService_GtpuTunnelDumpClient interface {
65         Recv() (*GtpuTunnelDetails, error)
66         api.Stream
67 }
68
69 type serviceClient_GtpuTunnelDumpClient struct {
70         api.Stream
71 }
72
73 func (c *serviceClient_GtpuTunnelDumpClient) Recv() (*GtpuTunnelDetails, error) {
74         msg, err := c.Stream.RecvMsg()
75         if err != nil {
76                 return nil, err
77         }
78         switch m := msg.(type) {
79         case *GtpuTunnelDetails:
80                 return m, nil
81         case *memclnt.ControlPingReply:
82                 err = c.Stream.Close()
83                 if err != nil {
84                         return nil, err
85                 }
86                 return nil, io.EOF
87         default:
88                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
89         }
90 }
91
92 func (c *serviceClient) GtpuTunnelUpdateTteid(ctx context.Context, in *GtpuTunnelUpdateTteid) (*GtpuTunnelUpdateTteidReply, error) {
93         out := new(GtpuTunnelUpdateTteidReply)
94         err := c.conn.Invoke(ctx, in, out)
95         if err != nil {
96                 return nil, err
97         }
98         return out, api.RetvalToVPPApiError(out.Retval)
99 }
100
101 func (c *serviceClient) SwInterfaceSetGtpuBypass(ctx context.Context, in *SwInterfaceSetGtpuBypass) (*SwInterfaceSetGtpuBypassReply, error) {
102         out := new(SwInterfaceSetGtpuBypassReply)
103         err := c.conn.Invoke(ctx, in, out)
104         if err != nil {
105                 return nil, err
106         }
107         return out, api.RetvalToVPPApiError(out.Retval)
108 }