github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/span/span_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package span 4 5 import ( 6 "context" 7 "fmt" 8 "io" 9 10 api "git.fd.io/govpp.git/api" 11 memclnt "github.com/edwarnicke/govpp/binapi/memclnt" 12 ) 13 14 // RPCService defines RPC service span. 15 type RPCService interface { 16 SwInterfaceSpanDump(ctx context.Context, in *SwInterfaceSpanDump) (RPCService_SwInterfaceSpanDumpClient, error) 17 SwInterfaceSpanEnableDisable(ctx context.Context, in *SwInterfaceSpanEnableDisable) (*SwInterfaceSpanEnableDisableReply, error) 18 } 19 20 type serviceClient struct { 21 conn api.Connection 22 } 23 24 func NewServiceClient(conn api.Connection) RPCService { 25 return &serviceClient{conn} 26 } 27 28 func (c *serviceClient) SwInterfaceSpanDump(ctx context.Context, in *SwInterfaceSpanDump) (RPCService_SwInterfaceSpanDumpClient, error) { 29 stream, err := c.conn.NewStream(ctx) 30 if err != nil { 31 return nil, err 32 } 33 x := &serviceClient_SwInterfaceSpanDumpClient{stream} 34 if err := x.Stream.SendMsg(in); err != nil { 35 return nil, err 36 } 37 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 38 return nil, err 39 } 40 return x, nil 41 } 42 43 type RPCService_SwInterfaceSpanDumpClient interface { 44 Recv() (*SwInterfaceSpanDetails, error) 45 api.Stream 46 } 47 48 type serviceClient_SwInterfaceSpanDumpClient struct { 49 api.Stream 50 } 51 52 func (c *serviceClient_SwInterfaceSpanDumpClient) Recv() (*SwInterfaceSpanDetails, error) { 53 msg, err := c.Stream.RecvMsg() 54 if err != nil { 55 return nil, err 56 } 57 switch m := msg.(type) { 58 case *SwInterfaceSpanDetails: 59 return m, nil 60 case *memclnt.ControlPingReply: 61 err = c.Stream.Close() 62 if err != nil { 63 return nil, err 64 } 65 return nil, io.EOF 66 default: 67 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 68 } 69 } 70 71 func (c *serviceClient) SwInterfaceSpanEnableDisable(ctx context.Context, in *SwInterfaceSpanEnableDisable) (*SwInterfaceSpanEnableDisableReply, error) { 72 out := new(SwInterfaceSpanEnableDisableReply) 73 err := c.conn.Invoke(ctx, in, out) 74 if err != nil { 75 return nil, err 76 } 77 return out, api.RetvalToVPPApiError(out.Retval) 78 }