go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2106/tapv2/tapv2_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package tapv2 4 5 import ( 6 "context" 7 "fmt" 8 "io" 9 10 api "go.fd.io/govpp/api" 11 vpe "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2106/vpe" 12 ) 13 14 // RPCService defines RPC service tapv2. 15 type RPCService interface { 16 SwInterfaceTapV2Dump(ctx context.Context, in *SwInterfaceTapV2Dump) (RPCService_SwInterfaceTapV2DumpClient, error) 17 TapCreateV2(ctx context.Context, in *TapCreateV2) (*TapCreateV2Reply, error) 18 TapDeleteV2(ctx context.Context, in *TapDeleteV2) (*TapDeleteV2Reply, 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) SwInterfaceTapV2Dump(ctx context.Context, in *SwInterfaceTapV2Dump) (RPCService_SwInterfaceTapV2DumpClient, error) { 30 stream, err := c.conn.NewStream(ctx) 31 if err != nil { 32 return nil, err 33 } 34 x := &serviceClient_SwInterfaceTapV2DumpClient{stream} 35 if err := x.Stream.SendMsg(in); err != nil { 36 return nil, err 37 } 38 if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil { 39 return nil, err 40 } 41 return x, nil 42 } 43 44 type RPCService_SwInterfaceTapV2DumpClient interface { 45 Recv() (*SwInterfaceTapV2Details, error) 46 api.Stream 47 } 48 49 type serviceClient_SwInterfaceTapV2DumpClient struct { 50 api.Stream 51 } 52 53 func (c *serviceClient_SwInterfaceTapV2DumpClient) Recv() (*SwInterfaceTapV2Details, error) { 54 msg, err := c.Stream.RecvMsg() 55 if err != nil { 56 return nil, err 57 } 58 switch m := msg.(type) { 59 case *SwInterfaceTapV2Details: 60 return m, nil 61 case *vpe.ControlPingReply: 62 err = c.Stream.Close() 63 if err != nil { 64 return nil, err 65 } 66 return nil, io.EOF 67 default: 68 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 69 } 70 } 71 72 func (c *serviceClient) TapCreateV2(ctx context.Context, in *TapCreateV2) (*TapCreateV2Reply, error) { 73 out := new(TapCreateV2Reply) 74 err := c.conn.Invoke(ctx, in, out) 75 if err != nil { 76 return nil, err 77 } 78 return out, api.RetvalToVPPApiError(out.Retval) 79 } 80 81 func (c *serviceClient) TapDeleteV2(ctx context.Context, in *TapDeleteV2) (*TapDeleteV2Reply, error) { 82 out := new(TapDeleteV2Reply) 83 err := c.conn.Invoke(ctx, in, out) 84 if err != nil { 85 return nil, err 86 } 87 return out, api.RetvalToVPPApiError(out.Retval) 88 }