github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/pnat/pnat_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package pnat 4 5 import ( 6 "context" 7 "fmt" 8 "io" 9 10 api "go.fd.io/govpp/api" 11 ) 12 13 // RPCService defines RPC service pnat. 14 type RPCService interface { 15 PnatBindingAdd(ctx context.Context, in *PnatBindingAdd) (*PnatBindingAddReply, error) 16 PnatBindingAddV2(ctx context.Context, in *PnatBindingAddV2) (*PnatBindingAddV2Reply, error) 17 PnatBindingAttach(ctx context.Context, in *PnatBindingAttach) (*PnatBindingAttachReply, error) 18 PnatBindingDel(ctx context.Context, in *PnatBindingDel) (*PnatBindingDelReply, error) 19 PnatBindingDetach(ctx context.Context, in *PnatBindingDetach) (*PnatBindingDetachReply, error) 20 PnatBindingsGet(ctx context.Context, in *PnatBindingsGet) (RPCService_PnatBindingsGetClient, error) 21 PnatInterfacesGet(ctx context.Context, in *PnatInterfacesGet) (RPCService_PnatInterfacesGetClient, error) 22 } 23 24 type serviceClient struct { 25 conn api.Connection 26 } 27 28 func NewServiceClient(conn api.Connection) RPCService { 29 return &serviceClient{conn} 30 } 31 32 func (c *serviceClient) PnatBindingAdd(ctx context.Context, in *PnatBindingAdd) (*PnatBindingAddReply, error) { 33 out := new(PnatBindingAddReply) 34 err := c.conn.Invoke(ctx, in, out) 35 if err != nil { 36 return nil, err 37 } 38 return out, api.RetvalToVPPApiError(out.Retval) 39 } 40 41 func (c *serviceClient) PnatBindingAddV2(ctx context.Context, in *PnatBindingAddV2) (*PnatBindingAddV2Reply, error) { 42 out := new(PnatBindingAddV2Reply) 43 err := c.conn.Invoke(ctx, in, out) 44 if err != nil { 45 return nil, err 46 } 47 return out, api.RetvalToVPPApiError(out.Retval) 48 } 49 50 func (c *serviceClient) PnatBindingAttach(ctx context.Context, in *PnatBindingAttach) (*PnatBindingAttachReply, error) { 51 out := new(PnatBindingAttachReply) 52 err := c.conn.Invoke(ctx, in, out) 53 if err != nil { 54 return nil, err 55 } 56 return out, api.RetvalToVPPApiError(out.Retval) 57 } 58 59 func (c *serviceClient) PnatBindingDel(ctx context.Context, in *PnatBindingDel) (*PnatBindingDelReply, error) { 60 out := new(PnatBindingDelReply) 61 err := c.conn.Invoke(ctx, in, out) 62 if err != nil { 63 return nil, err 64 } 65 return out, api.RetvalToVPPApiError(out.Retval) 66 } 67 68 func (c *serviceClient) PnatBindingDetach(ctx context.Context, in *PnatBindingDetach) (*PnatBindingDetachReply, error) { 69 out := new(PnatBindingDetachReply) 70 err := c.conn.Invoke(ctx, in, out) 71 if err != nil { 72 return nil, err 73 } 74 return out, api.RetvalToVPPApiError(out.Retval) 75 } 76 77 func (c *serviceClient) PnatBindingsGet(ctx context.Context, in *PnatBindingsGet) (RPCService_PnatBindingsGetClient, error) { 78 stream, err := c.conn.NewStream(ctx) 79 if err != nil { 80 return nil, err 81 } 82 x := &serviceClient_PnatBindingsGetClient{stream} 83 if err := x.Stream.SendMsg(in); err != nil { 84 return nil, err 85 } 86 return x, nil 87 } 88 89 type RPCService_PnatBindingsGetClient interface { 90 Recv() (*PnatBindingsDetails, *PnatBindingsGetReply, error) 91 api.Stream 92 } 93 94 type serviceClient_PnatBindingsGetClient struct { 95 api.Stream 96 } 97 98 func (c *serviceClient_PnatBindingsGetClient) Recv() (*PnatBindingsDetails, *PnatBindingsGetReply, error) { 99 msg, err := c.Stream.RecvMsg() 100 if err != nil { 101 return nil, nil, err 102 } 103 switch m := msg.(type) { 104 case *PnatBindingsDetails: 105 return m, nil, nil 106 case *PnatBindingsGetReply: 107 if err := api.RetvalToVPPApiError(m.Retval); err != nil { 108 c.Stream.Close() 109 return nil, m, err 110 } 111 err = c.Stream.Close() 112 if err != nil { 113 return nil, m, err 114 } 115 return nil, m, io.EOF 116 default: 117 return nil, nil, fmt.Errorf("unexpected message: %T %v", m, m) 118 } 119 } 120 121 func (c *serviceClient) PnatInterfacesGet(ctx context.Context, in *PnatInterfacesGet) (RPCService_PnatInterfacesGetClient, error) { 122 stream, err := c.conn.NewStream(ctx) 123 if err != nil { 124 return nil, err 125 } 126 x := &serviceClient_PnatInterfacesGetClient{stream} 127 if err := x.Stream.SendMsg(in); err != nil { 128 return nil, err 129 } 130 return x, nil 131 } 132 133 type RPCService_PnatInterfacesGetClient interface { 134 Recv() (*PnatInterfacesDetails, *PnatInterfacesGetReply, error) 135 api.Stream 136 } 137 138 type serviceClient_PnatInterfacesGetClient struct { 139 api.Stream 140 } 141 142 func (c *serviceClient_PnatInterfacesGetClient) Recv() (*PnatInterfacesDetails, *PnatInterfacesGetReply, error) { 143 msg, err := c.Stream.RecvMsg() 144 if err != nil { 145 return nil, nil, err 146 } 147 switch m := msg.(type) { 148 case *PnatInterfacesDetails: 149 return m, nil, nil 150 case *PnatInterfacesGetReply: 151 if err := api.RetvalToVPPApiError(m.Retval); err != nil { 152 c.Stream.Close() 153 return nil, m, err 154 } 155 err = c.Stream.Close() 156 if err != nil { 157 return nil, m, err 158 } 159 return nil, m, io.EOF 160 default: 161 return nil, nil, fmt.Errorf("unexpected message: %T %v", m, m) 162 } 163 }