Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultPlugin = *NewPlugin()
DefaultPlugin is default instance of Plugin
Functions ¶
This section is empty.
Types ¶
type ChangeVppSvc ¶
type ChangeVppSvc struct {
// contains filtered or unexported fields
}
ChangeVppSvc forwards GRPC request to the localclient.
func (*ChangeVppSvc) Del ¶
func (svc *ChangeVppSvc) Del(ctx context.Context, data *rpc.DataRequest) (*rpc.DelResponse, error)
Del removes configuration data present in data request from the VPP/linux
func (*ChangeVppSvc) Put ¶
func (svc *ChangeVppSvc) Put(ctx context.Context, data *rpc.DataRequest) (*rpc.PutResponse, error)
Put adds configuration data present in data request to the VPP/Linux
type Deps ¶ added in v1.8.1
type Deps struct { infra.PluginDeps GRPCServer grpc.Server }
Deps - dependencies of Plugin
type GRPCService ¶
type GRPCService interface { // updateNotification stores VPP notifications/statistic data. The notification can be read by any client // connected to the notification service server // todo make type independent UpdateNotifications(ctx context.Context, notification *interfaces.InterfaceNotification) }
GRPCService allows to send VPP notifications to external GRPC endpoints
type NotificationSvc ¶
type NotificationSvc struct {
// contains filtered or unexported fields
}
NotificationSvc forwards GRPC messages to external servers.
func (*NotificationSvc) Get ¶
func (svc *NotificationSvc) Get(from *rpc.NotificationRequest, server rpc.NotificationService_GetServer) error
Get returns all required VPP notifications (or those available in the buffer) in the same order as they were received
type Option ¶ added in v1.8.1
type Option func(*Plugin)
Option is a function that acts on a Plugin to inject Dependencies or configuration
type Plugin ¶ added in v1.8.1
type Plugin struct { Deps // contains filtered or unexported fields }
Plugin registers VPP GRPC services in *grpc.Server.
func (*Plugin) Init ¶ added in v1.8.1
Init sets plugin child loggers for changeVppSvc & resyncVppSvc.
func (*Plugin) UpdateNotifications ¶
func (plugin *Plugin) UpdateNotifications(ctx context.Context, notification *interfaces.InterfaceNotification)
UpdateNotifications stores new notification data
type ResyncVppSvc ¶
type ResyncVppSvc struct {
// contains filtered or unexported fields
}
ResyncVppSvc forwards GRPC request to the localclient.
func (*ResyncVppSvc) Resync ¶
func (svc *ResyncVppSvc) Resync(ctx context.Context, data *rpc.DataRequest) (*rpc.ResyncResponse, error)
Resync creates a resync request which adds data tp the VPP/linux