Skip to content
Snippets Groups Projects
nbi.go 949 B
Newer Older
  • Learn to ignore specific revisions
  • Manuel Kieweg's avatar
    Manuel Kieweg committed
    package server
    
    import (
    
    	"code.fbi.h-da.de/danet/gosdn/controller/metrics"
    	"code.fbi.h-da.de/danet/gosdn/controller/store"
    
    Malte Bauch's avatar
    Malte Bauch committed
    	"github.com/prometheus/client_golang/prometheus"
    	log "github.com/sirupsen/logrus"
    	"google.golang.org/grpc/codes"
    	"google.golang.org/grpc/status"
    
    var pndc *store.PndStore
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    // NorthboundInterface is the representation of the
    // gRPC services used provided.
    type NorthboundInterface struct {
    
    	Pnd  *pndServer
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	Core *core
    
    	Csbi *csbi
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    // NewNBI receives a PndStore and returns a new gRPC *NorthboundInterface
    
    func NewNBI(pnds *store.PndStore) *NorthboundInterface {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	pndc = pnds
    	return &NorthboundInterface{
    
    		Pnd:  &pndServer{},
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		Core: &core{},
    
    		Csbi: &csbi{},
    
    Malte Bauch's avatar
    Malte Bauch committed
    
    func handleRPCError(labels prometheus.Labels, err error) error {
    	log.Error(err)
    	return status.Errorf(codes.Aborted, "%v", metrics.HandleError(labels, err, grpcAPIErrorsTotal))
    }