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