// Code generated by GoVPP's binapi-generator. DO NOT EDIT.

package l2e

import (
	"context"

	api "git.fd.io/govpp.git/api"
)

// RPCService defines RPC service l2e.
type RPCService interface {
	L2Emulation(ctx context.Context, in *L2Emulation) (*L2EmulationReply, error)
}

type serviceClient struct {
	conn api.Connection
}

func NewServiceClient(conn api.Connection) RPCService {
	return &serviceClient{conn}
}

func (c *serviceClient) L2Emulation(ctx context.Context, in *L2Emulation) (*L2EmulationReply, error) {
	out := new(L2EmulationReply)
	err := c.conn.Invoke(ctx, in, out)
	if err != nil {
		return nil, err
	}
	return out, api.RetvalToVPPApiError(out.Retval)
}