github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/pbl/pbl_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package pbl 4 5 import ( 6 "context" 7 "fmt" 8 "io" 9 10 memclnt "github.com/networkservicemesh/govpp/binapi/memclnt" 11 api "go.fd.io/govpp/api" 12 ) 13 14 // RPCService defines RPC service pbl. 15 type RPCService interface { 16 PblClientDel(ctx context.Context, in *PblClientDel) (*PblClientDelReply, error) 17 PblClientDump(ctx context.Context, in *PblClientDump) (RPCService_PblClientDumpClient, error) 18 PblClientUpdate(ctx context.Context, in *PblClientUpdate) (*PblClientUpdateReply, 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) PblClientDel(ctx context.Context, in *PblClientDel) (*PblClientDelReply, error) { 30 out := new(PblClientDelReply) 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) PblClientDump(ctx context.Context, in *PblClientDump) (RPCService_PblClientDumpClient, error) { 39 stream, err := c.conn.NewStream(ctx) 40 if err != nil { 41 return nil, err 42 } 43 x := &serviceClient_PblClientDumpClient{stream} 44 if err := x.Stream.SendMsg(in); err != nil { 45 return nil, err 46 } 47 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 48 return nil, err 49 } 50 return x, nil 51 } 52 53 type RPCService_PblClientDumpClient interface { 54 Recv() (*PblClientDetails, error) 55 api.Stream 56 } 57 58 type serviceClient_PblClientDumpClient struct { 59 api.Stream 60 } 61 62 func (c *serviceClient_PblClientDumpClient) Recv() (*PblClientDetails, error) { 63 msg, err := c.Stream.RecvMsg() 64 if err != nil { 65 return nil, err 66 } 67 switch m := msg.(type) { 68 case *PblClientDetails: 69 return m, nil 70 case *memclnt.ControlPingReply: 71 err = c.Stream.Close() 72 if err != nil { 73 return nil, err 74 } 75 return nil, io.EOF 76 default: 77 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 78 } 79 } 80 81 func (c *serviceClient) PblClientUpdate(ctx context.Context, in *PblClientUpdate) (*PblClientUpdateReply, error) { 82 out := new(PblClientUpdateReply) 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 }