Change module name to go.fd.io/govpp
[govpp.git] / binapi / af_packet / af_packet_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package af_packet
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 af_packet.
15 type RPCService interface {
16         AfPacketCreate(ctx context.Context, in *AfPacketCreate) (*AfPacketCreateReply, error)
17         AfPacketCreateV2(ctx context.Context, in *AfPacketCreateV2) (*AfPacketCreateV2Reply, error)
18         AfPacketDelete(ctx context.Context, in *AfPacketDelete) (*AfPacketDeleteReply, error)
19         AfPacketDump(ctx context.Context, in *AfPacketDump) (RPCService_AfPacketDumpClient, error)
20         AfPacketSetL4CksumOffload(ctx context.Context, in *AfPacketSetL4CksumOffload) (*AfPacketSetL4CksumOffloadReply, 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) AfPacketCreate(ctx context.Context, in *AfPacketCreate) (*AfPacketCreateReply, error) {
32         out := new(AfPacketCreateReply)
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) AfPacketCreateV2(ctx context.Context, in *AfPacketCreateV2) (*AfPacketCreateV2Reply, error) {
41         out := new(AfPacketCreateV2Reply)
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) AfPacketDelete(ctx context.Context, in *AfPacketDelete) (*AfPacketDeleteReply, error) {
50         out := new(AfPacketDeleteReply)
51         err := c.conn.Invoke(ctx, in, out)
52         if err != nil {
53                 return nil, err
54         }
55         return out, api.RetvalToVPPApiError(out.Retval)
56 }
57
58 func (c *serviceClient) AfPacketDump(ctx context.Context, in *AfPacketDump) (RPCService_AfPacketDumpClient, error) {
59         stream, err := c.conn.NewStream(ctx)
60         if err != nil {
61                 return nil, err
62         }
63         x := &serviceClient_AfPacketDumpClient{stream}
64         if err := x.Stream.SendMsg(in); err != nil {
65                 return nil, err
66         }
67         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
68                 return nil, err
69         }
70         return x, nil
71 }
72
73 type RPCService_AfPacketDumpClient interface {
74         Recv() (*AfPacketDetails, error)
75         api.Stream
76 }
77
78 type serviceClient_AfPacketDumpClient struct {
79         api.Stream
80 }
81
82 func (c *serviceClient_AfPacketDumpClient) Recv() (*AfPacketDetails, error) {
83         msg, err := c.Stream.RecvMsg()
84         if err != nil {
85                 return nil, err
86         }
87         switch m := msg.(type) {
88         case *AfPacketDetails:
89                 return m, nil
90         case *memclnt.ControlPingReply:
91                 err = c.Stream.Close()
92                 if err != nil {
93                         return nil, err
94                 }
95                 return nil, io.EOF
96         default:
97                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
98         }
99 }
100
101 func (c *serviceClient) AfPacketSetL4CksumOffload(ctx context.Context, in *AfPacketSetL4CksumOffload) (*AfPacketSetL4CksumOffloadReply, error) {
102         out := new(AfPacketSetL4CksumOffloadReply)
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 }