acc644968cdc9dbfa7c86f737c691e6d358c3f2a
[govpp.git] / binapi / tracedump / tracedump_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package tracedump
4
5 import (
6         "context"
7         "fmt"
8         "io"
9
10         api "git.fd.io/govpp.git/api"
11 )
12
13 // RPCService defines RPC service tracedump.
14 type RPCService interface {
15         TraceCapturePackets(ctx context.Context, in *TraceCapturePackets) (*TraceCapturePacketsReply, error)
16         TraceClearCapture(ctx context.Context, in *TraceClearCapture) (*TraceClearCaptureReply, error)
17         TraceDump(ctx context.Context, in *TraceDump) (RPCService_TraceDumpClient, error)
18         TraceSetFilters(ctx context.Context, in *TraceSetFilters) (*TraceSetFiltersReply, error)
19 }
20
21 type serviceClient struct {
22         conn api.Connection
23 }
24
25 func NewServiceClient(conn api.Connection) RPCService {
26         return &serviceClient{conn}
27 }
28
29 func (c *serviceClient) TraceCapturePackets(ctx context.Context, in *TraceCapturePackets) (*TraceCapturePacketsReply, error) {
30         out := new(TraceCapturePacketsReply)
31         err := c.conn.Invoke(ctx, in, out)
32         if err != nil {
33                 return nil, err
34         }
35         return out, api.RetvalToVPPApiError(out.Retval)
36 }
37
38 func (c *serviceClient) TraceClearCapture(ctx context.Context, in *TraceClearCapture) (*TraceClearCaptureReply, error) {
39         out := new(TraceClearCaptureReply)
40         err := c.conn.Invoke(ctx, in, out)
41         if err != nil {
42                 return nil, err
43         }
44         return out, api.RetvalToVPPApiError(out.Retval)
45 }
46
47 func (c *serviceClient) TraceDump(ctx context.Context, in *TraceDump) (RPCService_TraceDumpClient, error) {
48         stream, err := c.conn.NewStream(ctx)
49         if err != nil {
50                 return nil, err
51         }
52         x := &serviceClient_TraceDumpClient{stream}
53         if err := x.Stream.SendMsg(in); err != nil {
54                 return nil, err
55         }
56         return x, nil
57 }
58
59 type RPCService_TraceDumpClient interface {
60         Recv() (*TraceDetails, error)
61         api.Stream
62 }
63
64 type serviceClient_TraceDumpClient struct {
65         api.Stream
66 }
67
68 func (c *serviceClient_TraceDumpClient) Recv() (*TraceDetails, error) {
69         msg, err := c.Stream.RecvMsg()
70         if err != nil {
71                 return nil, err
72         }
73         switch m := msg.(type) {
74         case *TraceDetails:
75                 return m, nil
76         case *TraceDumpReply:
77                 err = c.Stream.Close()
78                 if err != nil {
79                         return nil, err
80                 }
81                 return nil, io.EOF
82         default:
83                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
84         }
85 }
86
87 func (c *serviceClient) TraceSetFilters(ctx context.Context, in *TraceSetFilters) (*TraceSetFiltersReply, error) {
88         out := new(TraceSetFiltersReply)
89         err := c.conn.Invoke(ctx, in, out)
90         if err != nil {
91                 return nil, err
92         }
93         return out, api.RetvalToVPPApiError(out.Retval)
94 }