github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/geneve/geneve_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package geneve 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 geneve. 15 type RPCService interface { 16 GeneveAddDelTunnel(ctx context.Context, in *GeneveAddDelTunnel) (*GeneveAddDelTunnelReply, error) 17 GeneveAddDelTunnel2(ctx context.Context, in *GeneveAddDelTunnel2) (*GeneveAddDelTunnel2Reply, error) 18 GeneveTunnelDump(ctx context.Context, in *GeneveTunnelDump) (RPCService_GeneveTunnelDumpClient, error) 19 SwInterfaceSetGeneveBypass(ctx context.Context, in *SwInterfaceSetGeneveBypass) (*SwInterfaceSetGeneveBypassReply, error) 20 } 21 22 type serviceClient struct { 23 conn api.Connection 24 } 25 26 func NewServiceClient(conn api.Connection) RPCService { 27 return &serviceClient{conn} 28 } 29 30 func (c *serviceClient) GeneveAddDelTunnel(ctx context.Context, in *GeneveAddDelTunnel) (*GeneveAddDelTunnelReply, error) { 31 out := new(GeneveAddDelTunnelReply) 32 err := c.conn.Invoke(ctx, in, out) 33 if err != nil { 34 return nil, err 35 } 36 return out, api.RetvalToVPPApiError(out.Retval) 37 } 38 39 func (c *serviceClient) GeneveAddDelTunnel2(ctx context.Context, in *GeneveAddDelTunnel2) (*GeneveAddDelTunnel2Reply, error) { 40 out := new(GeneveAddDelTunnel2Reply) 41 err := c.conn.Invoke(ctx, in, out) 42 if err != nil { 43 return nil, err 44 } 45 return out, api.RetvalToVPPApiError(out.Retval) 46 } 47 48 func (c *serviceClient) GeneveTunnelDump(ctx context.Context, in *GeneveTunnelDump) (RPCService_GeneveTunnelDumpClient, error) { 49 stream, err := c.conn.NewStream(ctx) 50 if err != nil { 51 return nil, err 52 } 53 x := &serviceClient_GeneveTunnelDumpClient{stream} 54 if err := x.Stream.SendMsg(in); err != nil { 55 return nil, err 56 } 57 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 58 return nil, err 59 } 60 return x, nil 61 } 62 63 type RPCService_GeneveTunnelDumpClient interface { 64 Recv() (*GeneveTunnelDetails, error) 65 api.Stream 66 } 67 68 type serviceClient_GeneveTunnelDumpClient struct { 69 api.Stream 70 } 71 72 func (c *serviceClient_GeneveTunnelDumpClient) Recv() (*GeneveTunnelDetails, error) { 73 msg, err := c.Stream.RecvMsg() 74 if err != nil { 75 return nil, err 76 } 77 switch m := msg.(type) { 78 case *GeneveTunnelDetails: 79 return m, nil 80 case *memclnt.ControlPingReply: 81 err = c.Stream.Close() 82 if err != nil { 83 return nil, err 84 } 85 return nil, io.EOF 86 default: 87 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 88 } 89 } 90 91 func (c *serviceClient) SwInterfaceSetGeneveBypass(ctx context.Context, in *SwInterfaceSetGeneveBypass) (*SwInterfaceSetGeneveBypassReply, error) { 92 out := new(SwInterfaceSetGeneveBypassReply) 93 err := c.conn.Invoke(ctx, in, out) 94 if err != nil { 95 return nil, err 96 } 97 return out, api.RetvalToVPPApiError(out.Retval) 98 }