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