gnmi

package
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2020 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Contains

func Contains(a []string, x string) bool

Contains checks the existence of a given string in an array of strings.

func NewService

func NewService(model *Model, config []byte, callback ConfigCallback) northbound.Service

NewService creates a new subscription service

Types

type ConfigCallback

type ConfigCallback func(ygot.ValidatedGoStruct) error

ConfigCallback is the signature of the function to apply a validated config to the physical device.

type GoStructEnumData

type GoStructEnumData map[string]map[int64]ygot.EnumDefinition

GoStructEnumData is the data type to maintain GoStruct enum type.

type JSONUnmarshaler

type JSONUnmarshaler func([]byte, ygot.GoStruct, ...ytypes.UnmarshalOpt) error

JSONUnmarshaler is the signature of the Unmarshal() function in the GoStruct code generated by openconfig ygot library.

type Model

type Model struct {
	// contains filtered or unexported fields
}

Model contains the model data and GoStruct information for the device to config.

func NewModel

NewModel returns an instance of Model struct.

func (*Model) NewConfigStruct

func (m *Model) NewConfigStruct(jsonConfig []byte) (ygot.ValidatedGoStruct, error)

NewConfigStruct creates a ValidatedGoStruct of this model from jsonConfig. If jsonConfig is nil, creates an empty GoStruct.

func (*Model) SupportedModels

func (m *Model) SupportedModels() []string

SupportedModels returns a list of supported models.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server struct maintains the data structure for device config and implements the interface of gnmi server. It supports Capabilities, Get, and Set APIs.

func (*Server) Capabilities

func (s *Server) Capabilities(ctx context.Context, req *pb.CapabilityRequest) (*pb.CapabilityResponse, error)

Capabilities returns supported encodings and supported models.

func (*Server) Get

func (s *Server) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse, error)

Get implements the Get RPC in gNMI spec.

func (*Server) GetConfig

func (s *Server) GetConfig() (ygot.ValidatedGoStruct, error)

GetConfig returns the config store

func (*Server) InternalUpdate

func (s *Server) InternalUpdate(fp func(config ygot.ValidatedGoStruct) error) error

InternalUpdate is an experimental feature to let the server update its internal states. Use it with your own risk.

func (*Server) Set

func (s *Server) Set(ctx context.Context, req *pb.SetRequest) (*pb.SetResponse, error)

Set implements the Set RPC in gNMI spec.

func (*Server) Subscribe

func (s *Server) Subscribe(stream pb.GNMI_SubscribeServer) error

Subscribe handle subscribe requests including POLL, STREAM, ONCE subscribe requests

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service is a Service implementation for gnmi service.

func (*Service) Register

func (s *Service) Register(r *grpc.Server)

Register registers the Service with the gRPC server.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL