github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/igmp/igmp_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package igmp 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 igmp. 15 type RPCService interface { 16 IgmpClearInterface(ctx context.Context, in *IgmpClearInterface) (*IgmpClearInterfaceReply, error) 17 IgmpDump(ctx context.Context, in *IgmpDump) (RPCService_IgmpDumpClient, error) 18 IgmpEnableDisable(ctx context.Context, in *IgmpEnableDisable) (*IgmpEnableDisableReply, error) 19 IgmpGroupPrefixDump(ctx context.Context, in *IgmpGroupPrefixDump) (RPCService_IgmpGroupPrefixDumpClient, error) 20 IgmpGroupPrefixSet(ctx context.Context, in *IgmpGroupPrefixSet) (*IgmpGroupPrefixSetReply, error) 21 IgmpListen(ctx context.Context, in *IgmpListen) (*IgmpListenReply, error) 22 IgmpProxyDeviceAddDel(ctx context.Context, in *IgmpProxyDeviceAddDel) (*IgmpProxyDeviceAddDelReply, error) 23 IgmpProxyDeviceAddDelInterface(ctx context.Context, in *IgmpProxyDeviceAddDelInterface) (*IgmpProxyDeviceAddDelInterfaceReply, error) 24 WantIgmpEvents(ctx context.Context, in *WantIgmpEvents) (*WantIgmpEventsReply, error) 25 } 26 27 type serviceClient struct { 28 conn api.Connection 29 } 30 31 func NewServiceClient(conn api.Connection) RPCService { 32 return &serviceClient{conn} 33 } 34 35 func (c *serviceClient) IgmpClearInterface(ctx context.Context, in *IgmpClearInterface) (*IgmpClearInterfaceReply, error) { 36 out := new(IgmpClearInterfaceReply) 37 err := c.conn.Invoke(ctx, in, out) 38 if err != nil { 39 return nil, err 40 } 41 return out, api.RetvalToVPPApiError(out.Retval) 42 } 43 44 func (c *serviceClient) IgmpDump(ctx context.Context, in *IgmpDump) (RPCService_IgmpDumpClient, error) { 45 stream, err := c.conn.NewStream(ctx) 46 if err != nil { 47 return nil, err 48 } 49 x := &serviceClient_IgmpDumpClient{stream} 50 if err := x.Stream.SendMsg(in); err != nil { 51 return nil, err 52 } 53 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 54 return nil, err 55 } 56 return x, nil 57 } 58 59 type RPCService_IgmpDumpClient interface { 60 Recv() (*IgmpDetails, error) 61 api.Stream 62 } 63 64 type serviceClient_IgmpDumpClient struct { 65 api.Stream 66 } 67 68 func (c *serviceClient_IgmpDumpClient) Recv() (*IgmpDetails, error) { 69 msg, err := c.Stream.RecvMsg() 70 if err != nil { 71 return nil, err 72 } 73 switch m := msg.(type) { 74 case *IgmpDetails: 75 return m, nil 76 case *memclnt.ControlPingReply: 77 err = c.Stream.Close() 78 if err != nil { 79 return nil, err 80 } 81 return nil, io.EOF 82 default: 83 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 84 } 85 } 86 87 func (c *serviceClient) IgmpEnableDisable(ctx context.Context, in *IgmpEnableDisable) (*IgmpEnableDisableReply, error) { 88 out := new(IgmpEnableDisableReply) 89 err := c.conn.Invoke(ctx, in, out) 90 if err != nil { 91 return nil, err 92 } 93 return out, api.RetvalToVPPApiError(out.Retval) 94 } 95 96 func (c *serviceClient) IgmpGroupPrefixDump(ctx context.Context, in *IgmpGroupPrefixDump) (RPCService_IgmpGroupPrefixDumpClient, error) { 97 stream, err := c.conn.NewStream(ctx) 98 if err != nil { 99 return nil, err 100 } 101 x := &serviceClient_IgmpGroupPrefixDumpClient{stream} 102 if err := x.Stream.SendMsg(in); err != nil { 103 return nil, err 104 } 105 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 106 return nil, err 107 } 108 return x, nil 109 } 110 111 type RPCService_IgmpGroupPrefixDumpClient interface { 112 Recv() (*IgmpGroupPrefixDetails, error) 113 api.Stream 114 } 115 116 type serviceClient_IgmpGroupPrefixDumpClient struct { 117 api.Stream 118 } 119 120 func (c *serviceClient_IgmpGroupPrefixDumpClient) Recv() (*IgmpGroupPrefixDetails, error) { 121 msg, err := c.Stream.RecvMsg() 122 if err != nil { 123 return nil, err 124 } 125 switch m := msg.(type) { 126 case *IgmpGroupPrefixDetails: 127 return m, nil 128 case *memclnt.ControlPingReply: 129 err = c.Stream.Close() 130 if err != nil { 131 return nil, err 132 } 133 return nil, io.EOF 134 default: 135 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 136 } 137 } 138 139 func (c *serviceClient) IgmpGroupPrefixSet(ctx context.Context, in *IgmpGroupPrefixSet) (*IgmpGroupPrefixSetReply, error) { 140 out := new(IgmpGroupPrefixSetReply) 141 err := c.conn.Invoke(ctx, in, out) 142 if err != nil { 143 return nil, err 144 } 145 return out, api.RetvalToVPPApiError(out.Retval) 146 } 147 148 func (c *serviceClient) IgmpListen(ctx context.Context, in *IgmpListen) (*IgmpListenReply, error) { 149 out := new(IgmpListenReply) 150 err := c.conn.Invoke(ctx, in, out) 151 if err != nil { 152 return nil, err 153 } 154 return out, api.RetvalToVPPApiError(out.Retval) 155 } 156 157 func (c *serviceClient) IgmpProxyDeviceAddDel(ctx context.Context, in *IgmpProxyDeviceAddDel) (*IgmpProxyDeviceAddDelReply, error) { 158 out := new(IgmpProxyDeviceAddDelReply) 159 err := c.conn.Invoke(ctx, in, out) 160 if err != nil { 161 return nil, err 162 } 163 return out, api.RetvalToVPPApiError(out.Retval) 164 } 165 166 func (c *serviceClient) IgmpProxyDeviceAddDelInterface(ctx context.Context, in *IgmpProxyDeviceAddDelInterface) (*IgmpProxyDeviceAddDelInterfaceReply, error) { 167 out := new(IgmpProxyDeviceAddDelInterfaceReply) 168 err := c.conn.Invoke(ctx, in, out) 169 if err != nil { 170 return nil, err 171 } 172 return out, api.RetvalToVPPApiError(out.Retval) 173 } 174 175 func (c *serviceClient) WantIgmpEvents(ctx context.Context, in *WantIgmpEvents) (*WantIgmpEventsReply, error) { 176 out := new(WantIgmpEventsReply) 177 err := c.conn.Invoke(ctx, in, out) 178 if err != nil { 179 return nil, err 180 } 181 return out, api.RetvalToVPPApiError(out.Retval) 182 }