gnmi

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2021 License: BSD-3-Clause Imports: 25 Imported by: 0

Documentation

Overview

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

This section is empty.

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
}

func NewServer

func NewServer(model *Model, config []byte, callback ConfigCallback) (*Server, error)

NewServer creates an instance of Server with given json config.

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) 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 method is not implemented.

Jump to

Keyboard shortcuts

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