go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2106/punt/punt_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package punt 4 5 import ( 6 "context" 7 "fmt" 8 "io" 9 10 api "go.fd.io/govpp/api" 11 vpe "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2106/vpe" 12 ) 13 14 // RPCService defines RPC service punt. 15 type RPCService interface { 16 PuntReasonDump(ctx context.Context, in *PuntReasonDump) (RPCService_PuntReasonDumpClient, error) 17 PuntSocketDeregister(ctx context.Context, in *PuntSocketDeregister) (*PuntSocketDeregisterReply, error) 18 PuntSocketDump(ctx context.Context, in *PuntSocketDump) (RPCService_PuntSocketDumpClient, error) 19 PuntSocketRegister(ctx context.Context, in *PuntSocketRegister) (*PuntSocketRegisterReply, error) 20 SetPunt(ctx context.Context, in *SetPunt) (*SetPuntReply, error) 21 } 22 23 type serviceClient struct { 24 conn api.Connection 25 } 26 27 func NewServiceClient(conn api.Connection) RPCService { 28 return &serviceClient{conn} 29 } 30 31 func (c *serviceClient) PuntReasonDump(ctx context.Context, in *PuntReasonDump) (RPCService_PuntReasonDumpClient, error) { 32 stream, err := c.conn.NewStream(ctx) 33 if err != nil { 34 return nil, err 35 } 36 x := &serviceClient_PuntReasonDumpClient{stream} 37 if err := x.Stream.SendMsg(in); err != nil { 38 return nil, err 39 } 40 if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil { 41 return nil, err 42 } 43 return x, nil 44 } 45 46 type RPCService_PuntReasonDumpClient interface { 47 Recv() (*PuntReasonDetails, error) 48 api.Stream 49 } 50 51 type serviceClient_PuntReasonDumpClient struct { 52 api.Stream 53 } 54 55 func (c *serviceClient_PuntReasonDumpClient) Recv() (*PuntReasonDetails, error) { 56 msg, err := c.Stream.RecvMsg() 57 if err != nil { 58 return nil, err 59 } 60 switch m := msg.(type) { 61 case *PuntReasonDetails: 62 return m, nil 63 case *vpe.ControlPingReply: 64 err = c.Stream.Close() 65 if err != nil { 66 return nil, err 67 } 68 return nil, io.EOF 69 default: 70 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 71 } 72 } 73 74 func (c *serviceClient) PuntSocketDeregister(ctx context.Context, in *PuntSocketDeregister) (*PuntSocketDeregisterReply, error) { 75 out := new(PuntSocketDeregisterReply) 76 err := c.conn.Invoke(ctx, in, out) 77 if err != nil { 78 return nil, err 79 } 80 return out, api.RetvalToVPPApiError(out.Retval) 81 } 82 83 func (c *serviceClient) PuntSocketDump(ctx context.Context, in *PuntSocketDump) (RPCService_PuntSocketDumpClient, error) { 84 stream, err := c.conn.NewStream(ctx) 85 if err != nil { 86 return nil, err 87 } 88 x := &serviceClient_PuntSocketDumpClient{stream} 89 if err := x.Stream.SendMsg(in); err != nil { 90 return nil, err 91 } 92 if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil { 93 return nil, err 94 } 95 return x, nil 96 } 97 98 type RPCService_PuntSocketDumpClient interface { 99 Recv() (*PuntSocketDetails, error) 100 api.Stream 101 } 102 103 type serviceClient_PuntSocketDumpClient struct { 104 api.Stream 105 } 106 107 func (c *serviceClient_PuntSocketDumpClient) Recv() (*PuntSocketDetails, error) { 108 msg, err := c.Stream.RecvMsg() 109 if err != nil { 110 return nil, err 111 } 112 switch m := msg.(type) { 113 case *PuntSocketDetails: 114 return m, nil 115 case *vpe.ControlPingReply: 116 err = c.Stream.Close() 117 if err != nil { 118 return nil, err 119 } 120 return nil, io.EOF 121 default: 122 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 123 } 124 } 125 126 func (c *serviceClient) PuntSocketRegister(ctx context.Context, in *PuntSocketRegister) (*PuntSocketRegisterReply, error) { 127 out := new(PuntSocketRegisterReply) 128 err := c.conn.Invoke(ctx, in, out) 129 if err != nil { 130 return nil, err 131 } 132 return out, api.RetvalToVPPApiError(out.Retval) 133 } 134 135 func (c *serviceClient) SetPunt(ctx context.Context, in *SetPunt) (*SetPuntReply, error) { 136 out := new(SetPuntReply) 137 err := c.conn.Invoke(ctx, in, out) 138 if err != nil { 139 return nil, err 140 } 141 return out, api.RetvalToVPPApiError(out.Retval) 142 }