subscribe

package
Version: v0.0.0-...-aed1ee4 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package subscribe implements the gnmi.proto Subscribe service API.

Index

Constants

This section is empty.

Variables

View Source
var (

	// Timeout specifies how long a send can be pending before the RPC is closed.
	Timeout = time.Minute
	// SubscriptionLimit specifies how many queries can be processing simultaneously.
	// This number includes Once queries, Polling subscriptions, and Streaming
	// subscriptions that have not yet synced. Once a streaming subscription has
	// synced, it no longer counts against the limit. A polling subscription
	// counts against the limit during each polling cycle while it is processed.
	SubscriptionLimit = 0
)

Functions

func MakeSubscribeResponse

func MakeSubscribeResponse(n interface{}, dup uint32) (*pb.SubscribeResponse, error)

MakeSubscribeResponse produces a gnmi_proto.SubscribeResponse from a gnmi_proto.Notification.

This function modifies the message to set the duplicate count if it is greater than 0. The function clones the gnmi notification if the duplicate count needs to be set. You have to be working on a cloned message if you need to modify the message in any way.

Types

type ACL

type ACL interface {
	NewRPCACL(context.Context) (RPCACL, error)
	Check(string, string) bool
}

ACL is server ACL interface

type RPCACL

type RPCACL interface {
	Check(string) bool
}

RPCACL is the per RPC ACL interface

type Server

type Server struct {
	pb.UnimplementedGNMIServer // Stub out all RPCs except Subscribe.
	// contains filtered or unexported fields
}

Server is the implementation of the gNMI Subcribe API.

func NewServer

func NewServer(c *cache.Cache) (*Server, error)

NewServer instantiates server to handle client queries. The cache should be already instantiated.

func (*Server) SetACL

func (s *Server) SetACL(a ACL)

SetACL sets server ACL. This method is called before server starts to run.

func (*Server) Subscribe

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

Subscribe is the entry point for the external RPC request of the same name defined in gnmi.proto.

func (*Server) Update

func (s *Server) Update(n *ctree.Leaf)

Update passes a streaming update to registered clients.

Source Files

Jump to

Keyboard shortcuts

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