github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/vxlan_gbp/vxlan_gbp_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package vxlan_gbp 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 vxlan_gbp. 15 type RPCService interface { 16 SwInterfaceSetVxlanGbpBypass(ctx context.Context, in *SwInterfaceSetVxlanGbpBypass) (*SwInterfaceSetVxlanGbpBypassReply, error) 17 VxlanGbpTunnelAddDel(ctx context.Context, in *VxlanGbpTunnelAddDel) (*VxlanGbpTunnelAddDelReply, error) 18 VxlanGbpTunnelDump(ctx context.Context, in *VxlanGbpTunnelDump) (RPCService_VxlanGbpTunnelDumpClient, 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) SwInterfaceSetVxlanGbpBypass(ctx context.Context, in *SwInterfaceSetVxlanGbpBypass) (*SwInterfaceSetVxlanGbpBypassReply, error) { 30 out := new(SwInterfaceSetVxlanGbpBypassReply) 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) VxlanGbpTunnelAddDel(ctx context.Context, in *VxlanGbpTunnelAddDel) (*VxlanGbpTunnelAddDelReply, error) { 39 out := new(VxlanGbpTunnelAddDelReply) 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) VxlanGbpTunnelDump(ctx context.Context, in *VxlanGbpTunnelDump) (RPCService_VxlanGbpTunnelDumpClient, error) { 48 stream, err := c.conn.NewStream(ctx) 49 if err != nil { 50 return nil, err 51 } 52 x := &serviceClient_VxlanGbpTunnelDumpClient{stream} 53 if err := x.Stream.SendMsg(in); err != nil { 54 return nil, err 55 } 56 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 57 return nil, err 58 } 59 return x, nil 60 } 61 62 type RPCService_VxlanGbpTunnelDumpClient interface { 63 Recv() (*VxlanGbpTunnelDetails, error) 64 api.Stream 65 } 66 67 type serviceClient_VxlanGbpTunnelDumpClient struct { 68 api.Stream 69 } 70 71 func (c *serviceClient_VxlanGbpTunnelDumpClient) Recv() (*VxlanGbpTunnelDetails, error) { 72 msg, err := c.Stream.RecvMsg() 73 if err != nil { 74 return nil, err 75 } 76 switch m := msg.(type) { 77 case *VxlanGbpTunnelDetails: 78 return m, nil 79 case *memclnt.ControlPingReply: 80 err = c.Stream.Close() 81 if err != nil { 82 return nil, err 83 } 84 return nil, io.EOF 85 default: 86 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 87 } 88 }