Merge pull request #11 from lightninglabs/rename-governator

mutli: Rename terminator to governator
This commit is contained in:
Carla Kirk-Cohen 2020-03-05 17:23:23 +02:00 committed by GitHub
commit 32eb8b3425
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 214 additions and 214 deletions

View file

@ -1,5 +1,5 @@
PKG := github.com/lightninglabs/terminator
ESCPKG := github.com\/lightninglabs\/terminator
PKG := github.com/lightninglabs/governator
ESCPKG := github.com\/lightninglabs\/governator
LINT_PKG := github.com/golangci/golangci-lint/cmd/golangci-lint
GOVERALLS_PKG := github.com/mattn/goveralls
@ -56,14 +56,14 @@ $(GOACC_BIN):
# ============
build:
@$(call print, "Building terminator.")
$(GOBUILD) $(PKG)/cmd/terminator
$(GOBUILD) $(PKG)/cmd/trmcli
@$(call print, "Building governator.")
$(GOBUILD) $(PKG)/cmd/governator
$(GOBUILD) $(PKG)/cmd/gvncli
install:
@$(call print, "Installing terminator.")
$(GOINSTALL) $(PKG)/cmd/terminator
$(GOINSTALL) $(PKG)/cmd/trmcli
@$(call print, "Installing governator.")
$(GOINSTALL) $(PKG)/cmd/governator
$(GOINSTALL) $(PKG)/cmd/gvncli
scratch: build
@ -91,7 +91,7 @@ goveralls: $(GOVERALLS_BIN)
rpc:
@$(call print, "Compiling protos.")
cd ./trmrpc; ./gen_protos.sh
cd ./gvnrpc; ./gen_protos.sh
travis-race: lint unit-race
@ -126,6 +126,6 @@ list:
sort
clean:
@$(call print, "Cleaning source.$(NC)")
$(RM) ./terminator
$(RM) ./trmcli
$(RM) ./governator
$(RM) ./gvncli
$(RM) coverage.txt

View file

@ -1,18 +1,18 @@
## Terminator
## governator
[![Build Status](https://img.shields.io/travis/lightningnetwork/lnd.svg)](https://travis-ci.org/lightningnetwork/lnd)
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/lightningnetwork/lnd/blob/master/LICENSE)
The terminator is an external service intended to be run in conjunction with the [lnd](https://github.com/lightningnetwork/lnd) implementation of the [Lightning Network](https://lightning.network). It queries LND for information about its existing channels and provides channel close recommendations if channels are under-performing.
The governator is an external service intended to be run in conjunction with the [lnd](https://github.com/lightningnetwork/lnd) implementation of the [Lightning Network](https://lightning.network). It queries LND for information about its existing channels and provides channel close recommendations if channels are under-performing.
Future iterations of this project will automate the channel closing process.
### Installation
A [Makefile](https://github.com/lightninglabs/terminator/blob/master/Makefile) is provided. To install terminator and al its dependencies, run:
A [Makefile](https://github.com/lightninglabs/governator/blob/master/Makefile) is provided. To install governator and al its dependencies, run:
```
go get -d github.com/lightninglabs/terminator
cd $GOPATH/src/github.com/lightninglabs/terminator
go get -d github.com/lightninglabs/governator
cd $GOPATH/src/github.com/lightninglabs/governator
make && make install
```

View file

@ -2,18 +2,18 @@ package main
import (
"github.com/btcsuite/btclog"
"github.com/lightninglabs/terminator"
"github.com/lightninglabs/governator"
"github.com/lightningnetwork/lnd/build"
)
var (
logWriter = build.NewRotatingLogWriter()
log = build.NewSubLogger("TERMD", logWriter.GenSubLogger)
log = build.NewSubLogger("GVNR", logWriter.GenSubLogger)
)
func init() {
setSubLogger("TERMD", log, nil)
addSubLogger(terminator.Subsystem, terminator.UseLogger)
setSubLogger("GVNR", log, nil)
addSubLogger(governator.Subsystem, governator.UseLogger)
}
// addSubLogger is a helper method to conveniently create and register the

View file

@ -3,14 +3,14 @@ package main
import (
"os"
"github.com/lightninglabs/terminator"
"github.com/lightninglabs/governator"
)
// main calls the "real" main function in a nested manner so that defers will be
// properly executed if os.Exit() is called.
func main() {
if err := terminator.Main(); err != nil {
log.Infof("Error starting termintor: %v", err)
if err := governator.Main(); err != nil {
log.Infof("Error starting governator: %v", err)
}
os.Exit(1)

View file

@ -3,7 +3,7 @@ package main
import (
"context"
"github.com/lightninglabs/terminator/trmrpc"
"github.com/lightninglabs/governator/gvnrpc"
"github.com/urfave/cli"
)
@ -18,7 +18,7 @@ var channelInsightsCommand = cli.Command{
// insightsResp is used to display additional information that is calculated
// from the channel insight in the cli response.
type insightsResp struct {
*trmrpc.ChannelInsight
*gvnrpc.ChannelInsight
UptimeRatio float64 `json:"uptime_ratio"`
RevenuePerConfirmation float64 `json:"revenue_per_conf_msat"`
VolumePerConfirmation float64 `json:"volume_per_conf_msat"`
@ -32,7 +32,7 @@ func queryChannelInsights(ctx *cli.Context) error {
rpcCtx := context.Background()
resp, err := client.ChannelInsights(
rpcCtx, &trmrpc.ChannelInsightsRequest{},
rpcCtx, &gvnrpc.ChannelInsightsRequest{},
)
if err != nil {
return err

View file

@ -5,7 +5,7 @@ import (
"fmt"
"time"
"github.com/lightninglabs/terminator/trmrpc"
"github.com/lightninglabs/governator/gvnrpc"
"github.com/urfave/cli"
)
@ -110,8 +110,8 @@ func queryThresholdRecommendations(ctx *cli.Context) error {
// Set monitored value from cli values, this value will always be
// non-zero because the flag has a default.
req := &trmrpc.ThresholdRecommendationsRequest{
RecRequest: &trmrpc.CloseRecommendationRequest{
req := &gvnrpc.ThresholdRecommendationsRequest{
RecRequest: &gvnrpc.CloseRecommendationRequest{
MinimumMonitored: ctx.Int64("min_monitored"),
},
}
@ -120,23 +120,23 @@ func queryThresholdRecommendations(ctx *cli.Context) error {
switch {
case ctx.IsSet("uptime"):
req.ThresholdValue = float32(ctx.Float64("uptime"))
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_UPTIME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_UPTIME
case ctx.IsSet("revenue"):
req.ThresholdValue = float32(ctx.Float64("revenue"))
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_REVENUE
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_REVENUE
case ctx.IsSet("incoming"):
req.ThresholdValue = float32(ctx.Float64("incoming"))
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_INCOMING_VOLUME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_INCOMING_VOLUME
case ctx.IsSet("outgoing"):
req.ThresholdValue = float32(ctx.Float64("outgoing"))
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_OUTGOING_VOLUME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_OUTGOING_VOLUME
case ctx.IsSet("volume"):
req.ThresholdValue = float32(ctx.Float64("volume"))
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_TOTAL_VOLUME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_TOTAL_VOLUME
default:
return fmt.Errorf("threshold required")
@ -170,8 +170,8 @@ func queryOutlierRecommendations(ctx *cli.Context) error {
// outlier multiplier will be overwritten if the user provided it, and
// the monitored value will always be non-zero because the flag has a
// default value.
req := &trmrpc.OutlierRecommendationsRequest{
RecRequest: &trmrpc.CloseRecommendationRequest{
req := &gvnrpc.OutlierRecommendationsRequest{
RecRequest: &gvnrpc.CloseRecommendationRequest{
MinimumMonitored: ctx.Int64("min_monitored"),
},
OutlierMultiplier: float32(defaultOutlierMultiplier),
@ -185,19 +185,19 @@ func queryOutlierRecommendations(ctx *cli.Context) error {
// Set metric based on uptime or revenue flags.
switch {
case ctx.IsSet("uptime"):
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_UPTIME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_UPTIME
case ctx.IsSet("revenue"):
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_REVENUE
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_REVENUE
case ctx.IsSet("incoming_volume"):
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_INCOMING_VOLUME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_INCOMING_VOLUME
case ctx.IsSet("outgoing_volume"):
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_OUTGOING_VOLUME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_OUTGOING_VOLUME
case ctx.IsSet("volume"):
req.RecRequest.Metric = trmrpc.CloseRecommendationRequest_TOTAL_VOLUME
req.RecRequest.Metric = gvnrpc.CloseRecommendationRequest_TOTAL_VOLUME
default:
return fmt.Errorf("uptime, revenue or volume realted flag " +

View file

@ -13,13 +13,13 @@ var (
func main() {
app := cli.NewApp()
app.Name = "trmcli"
app.Usage = "command line tool for terminator"
app.Name = "gvncli"
app.Usage = "command line tool for governator"
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "rpcserver",
Value: defaultRPCHostPort,
Usage: "host:port of terminator",
Usage: "host:port of governator",
},
}
app.Commands = []cli.Command{

View file

@ -3,7 +3,7 @@ package main
import (
"context"
"github.com/lightninglabs/terminator/trmrpc"
"github.com/lightninglabs/governator/gvnrpc"
"github.com/urfave/cli"
)
@ -48,7 +48,7 @@ func queryRevenueReport(ctx *cli.Context) error {
// Set start and end times from user specified values, defaulting
// to zero if they are not set.
req := &trmrpc.RevenueReportRequest{
req := &gvnrpc.RevenueReportRequest{
StartTime: uint64(ctx.Int64("start_time")),
EndTime: uint64(ctx.Int64("end_time")),
}

View file

@ -8,9 +8,9 @@ import (
"net"
"os"
"github.com/lightninglabs/governator/gvnrpc"
"github.com/lightninglabs/protobuf-hex-display/jsonpb"
"github.com/lightninglabs/protobuf-hex-display/proto"
"github.com/lightninglabs/terminator/trmrpc"
"github.com/lightningnetwork/lnd/lncfg"
"github.com/urfave/cli"
"google.golang.org/grpc"
@ -24,7 +24,7 @@ var (
// fatal logs and error and exits.
func fatal(err error) {
_, _ = fmt.Fprintf(os.Stderr, "[trmcli] %v\n", err)
_, _ = fmt.Fprintf(os.Stderr, "[gvncli] %v\n", err)
os.Exit(1)
}
@ -57,8 +57,8 @@ func printJSON(resp interface{}) {
_, _ = out.WriteTo(os.Stdout)
}
// getClient returns a terminator client.
func getClient(ctx *cli.Context) (trmrpc.TerminatorServerClient, func()) {
// getClient returns a governator client.
func getClient(ctx *cli.Context) (gvnrpc.GovernatorServerClient, func()) {
conn := getClientConn(ctx)
cleanUp := func() {
@ -67,7 +67,7 @@ func getClient(ctx *cli.Context) (trmrpc.TerminatorServerClient, func()) {
}
}
return trmrpc.NewTerminatorServerClient(conn), cleanUp
return gvnrpc.NewGovernatorServerClient(conn), cleanUp
}
// getClientConn gets a client connection to the address provided by the

View file

@ -1,4 +1,4 @@
package terminator
package governator
import (
"fmt"
@ -28,7 +28,7 @@ type config struct {
// MacaroonFile is the file name of the macaroon to use.
MacaroonFile string `long:"macaroonfile" description:"Macaroon file to use."`
// TLSCertPath is the path to the tls cert that terminator should use.
// TLSCertPath is the path to the tls cert that governator should use.
TLSCertPath string `long:"tlscertpath" description:"Path to TLS cert"`
// TestNet is set to true when running on testnet.
@ -48,9 +48,9 @@ type config struct {
// DebugLevel is a string defining the log level for the service either
// for all subsystems the same or individual level by subsystem.
DebugLevel string `long:"debuglevel" description:"Debug level for termaintor and its subsystems."`
DebugLevel string `long:"debuglevel" description:"Debug level for governator and its subsystems."`
// RPCListen is the listen address for the terminator rpc server.
// RPCListen is the listen address for the governator rpc server.
RPCListen string `long:"rpclisten" description:"Address to listen on for gRPC clients"`
}

2
go.mod
View file

@ -1,4 +1,4 @@
module github.com/lightninglabs/terminator
module github.com/lightninglabs/governator
require (
github.com/btcsuite/btcd v0.20.1-beta

View file

@ -1,15 +1,15 @@
// Package terminator contains the main function for the terminator.
package terminator
// Package governator contains the main function for the governator.
package governator
import (
"fmt"
"github.com/lightninglabs/governator/gvnrpc"
"github.com/lightninglabs/loop/lndclient"
"github.com/lightninglabs/terminator/trmrpc"
"github.com/lightningnetwork/lnd/signal"
)
// Main is the real entry point for terminator. It is required to ensure that
// Main is the real entry point for governator. It is required to ensure that
// defers are properly executed when os.Exit() is called.
func Main() error {
config, err := loadConfig()
@ -30,9 +30,9 @@ func Main() error {
err)
}
// Instantiate the terminator gRPC server.
server := trmrpc.NewRPCServer(
&trmrpc.Config{
// Instantiate the governator gRPC server.
server := gvnrpc.NewRPCServer(
&gvnrpc.Config{
LightningClient: client,
RPCListen: config.RPCListen,
},

View file

@ -1,8 +1,8 @@
trmrpc
gvrpc
=====
This package implements terminator's RPC client and server.
This package implements governator's RPC client and server.
## Generate protobuf definitions
1. Follow the installation steps provided in lnd's [installation instructions](https://github.com/lightningnetwork/lnd/blob/master/lnrpc/README.md#generate-protobuf-definitions).
2. Run [`gen_protos.sh`](https://github.com/lightninglabs/terminator/tree/master/trmrpc/gen_protos.sh) to generate new protobuf definitions.
2. Run [`gen_protos.sh`](https://github.com/lightninglabs/governator/tree/master/gvnrpc/gen_protos.sh) to generate new protobuf definitions.

View file

@ -1,11 +1,11 @@
package trmrpc
package gvnrpc
import (
"context"
"time"
"github.com/lightninglabs/terminator/insights"
"github.com/lightninglabs/terminator/revenue"
"github.com/lightninglabs/governator/insights"
"github.com/lightninglabs/governator/revenue"
"github.com/lightningnetwork/lnd/lnrpc"
)

View file

@ -1,12 +1,12 @@
package trmrpc
package gvnrpc
import (
"context"
"sort"
"time"
"github.com/lightninglabs/terminator/insights"
"github.com/lightninglabs/terminator/recommend"
"github.com/lightninglabs/governator/insights"
"github.com/lightninglabs/governator/recommend"
)
// parseRecommendationRequest parses a close recommendation request and

View file

@ -1,6 +1,6 @@
#!/bin/sh
echo "Generating terminator gRPC server protos"
echo "Generating governator gRPC server protos"
# Generate the protos.
protoc -I/usr/local/include -I. \

View file

@ -1,4 +1,4 @@
package trmrpc
package gvnrpc
import (
"github.com/btcsuite/btclog"

View file

@ -1,10 +1,10 @@
package trmrpc
package gvnrpc
import (
"context"
"time"
"github.com/lightninglabs/terminator/revenue"
"github.com/lightninglabs/governator/revenue"
"github.com/lightningnetwork/lnd/lnrpc"
)

View file

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: rpc.proto
package trmrpc
package gvnrpc
import (
context "context"
@ -72,7 +72,7 @@ type CloseRecommendationRequest struct {
//monitored to.
//Revenue: the revenue that the channel has produced per block that its
//funding transaction has been confirmed for.
Metric CloseRecommendationRequest_Metric `protobuf:"varint,2,opt,name=metric,proto3,enum=trmrpc.CloseRecommendationRequest_Metric" json:"metric,omitempty"`
Metric CloseRecommendationRequest_Metric `protobuf:"varint,2,opt,name=metric,proto3,enum=gvnrpc.CloseRecommendationRequest_Metric" json:"metric,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -796,85 +796,85 @@ func (m *ChannelInsight) GetPrivate() bool {
}
func init() {
proto.RegisterEnum("trmrpc.CloseRecommendationRequest_Metric", CloseRecommendationRequest_Metric_name, CloseRecommendationRequest_Metric_value)
proto.RegisterType((*CloseRecommendationRequest)(nil), "trmrpc.CloseRecommendationRequest")
proto.RegisterType((*OutlierRecommendationsRequest)(nil), "trmrpc.OutlierRecommendationsRequest")
proto.RegisterType((*ThresholdRecommendationsRequest)(nil), "trmrpc.ThresholdRecommendationsRequest")
proto.RegisterType((*CloseRecommendationsResponse)(nil), "trmrpc.CloseRecommendationsResponse")
proto.RegisterType((*Recommendation)(nil), "trmrpc.Recommendation")
proto.RegisterType((*RevenueReportRequest)(nil), "trmrpc.RevenueReportRequest")
proto.RegisterType((*RevenueReportResponse)(nil), "trmrpc.RevenueReportResponse")
proto.RegisterType((*RevenueReport)(nil), "trmrpc.RevenueReport")
proto.RegisterMapType((map[string]*PairReport)(nil), "trmrpc.RevenueReport.PairReportsEntry")
proto.RegisterType((*PairReport)(nil), "trmrpc.PairReport")
proto.RegisterType((*ChannelInsightsRequest)(nil), "trmrpc.ChannelInsightsRequest")
proto.RegisterType((*ChannelInsightsResponse)(nil), "trmrpc.ChannelInsightsResponse")
proto.RegisterType((*ChannelInsight)(nil), "trmrpc.ChannelInsight")
proto.RegisterEnum("gvnrpc.CloseRecommendationRequest_Metric", CloseRecommendationRequest_Metric_name, CloseRecommendationRequest_Metric_value)
proto.RegisterType((*CloseRecommendationRequest)(nil), "gvnrpc.CloseRecommendationRequest")
proto.RegisterType((*OutlierRecommendationsRequest)(nil), "gvnrpc.OutlierRecommendationsRequest")
proto.RegisterType((*ThresholdRecommendationsRequest)(nil), "gvnrpc.ThresholdRecommendationsRequest")
proto.RegisterType((*CloseRecommendationsResponse)(nil), "gvnrpc.CloseRecommendationsResponse")
proto.RegisterType((*Recommendation)(nil), "gvnrpc.Recommendation")
proto.RegisterType((*RevenueReportRequest)(nil), "gvnrpc.RevenueReportRequest")
proto.RegisterType((*RevenueReportResponse)(nil), "gvnrpc.RevenueReportResponse")
proto.RegisterType((*RevenueReport)(nil), "gvnrpc.RevenueReport")
proto.RegisterMapType((map[string]*PairReport)(nil), "gvnrpc.RevenueReport.PairReportsEntry")
proto.RegisterType((*PairReport)(nil), "gvnrpc.PairReport")
proto.RegisterType((*ChannelInsightsRequest)(nil), "gvnrpc.ChannelInsightsRequest")
proto.RegisterType((*ChannelInsightsResponse)(nil), "gvnrpc.ChannelInsightsResponse")
proto.RegisterType((*ChannelInsight)(nil), "gvnrpc.ChannelInsight")
}
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 944 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
0x14, 0xc7, 0x71, 0x9b, 0xb6, 0x2f, 0x9b, 0xd4, 0x3b, 0xdb, 0x2d, 0xa1, 0x6a, 0x69, 0x64, 0xed,
0xb2, 0x41, 0x40, 0xba, 0x0a, 0x17, 0xc4, 0x89, 0xaa, 0x8a, 0x96, 0x88, 0x26, 0xa9, 0x66, 0x93,
0x72, 0x41, 0xb2, 0x8c, 0x33, 0x9b, 0x0e, 0xc4, 0x33, 0xde, 0xf1, 0x38, 0xd2, 0x7e, 0x01, 0xae,
0x1c, 0xf8, 0x32, 0x7c, 0x08, 0x2e, 0x1c, 0xf8, 0x2e, 0x1c, 0xd1, 0xfc, 0xb1, 0x1d, 0x87, 0x74,
0xcb, 0x85, 0x9b, 0xe7, 0xf7, 0xfb, 0xcd, 0xfb, 0xcd, 0xbc, 0xf7, 0x32, 0x2f, 0x70, 0x20, 0x92,
0xa8, 0x97, 0x08, 0x2e, 0x39, 0xaa, 0x4b, 0x11, 0x8b, 0x24, 0x3a, 0x39, 0x5d, 0x70, 0xbe, 0x58,
0x92, 0x8b, 0x30, 0xa1, 0x17, 0x21, 0x63, 0x5c, 0x86, 0x92, 0x72, 0x96, 0x1a, 0x95, 0xff, 0xb7,
0x03, 0x27, 0x57, 0x4b, 0x9e, 0x12, 0x4c, 0x22, 0x1e, 0xc7, 0x84, 0xcd, 0x35, 0x8d, 0xc9, 0xdb,
0x8c, 0xa4, 0x12, 0x7d, 0x06, 0x8f, 0x63, 0xca, 0x68, 0x9c, 0xc5, 0x41, 0xcc, 0x19, 0x95, 0x5c,
0x90, 0x79, 0xdb, 0xe9, 0x38, 0x5d, 0x17, 0x7b, 0x96, 0x18, 0xe5, 0x38, 0xba, 0x84, 0x7a, 0x4c,
0xa4, 0xa0, 0x51, 0xbb, 0xd6, 0x71, 0xba, 0xad, 0xfe, 0xa7, 0x3d, 0x73, 0x84, 0xde, 0xfd, 0x06,
0xbd, 0x91, 0xde, 0x80, 0xed, 0x46, 0xff, 0x27, 0xa8, 0x1b, 0x04, 0x35, 0x60, 0x6f, 0x36, 0xfe,
0x6e, 0x3c, 0xf9, 0x7e, 0xec, 0x7d, 0x80, 0x00, 0xea, 0xb3, 0x9b, 0xe9, 0x70, 0x34, 0xf0, 0x1c,
0x45, 0xe0, 0xc1, 0xed, 0x60, 0x3c, 0x1b, 0x78, 0x35, 0xf4, 0x04, 0x0e, 0x87, 0xe3, 0xab, 0xc9,
0x68, 0x38, 0x7e, 0x15, 0xdc, 0x4e, 0xae, 0x67, 0xa3, 0x81, 0xe7, 0x2a, 0x70, 0x32, 0x9b, 0xbe,
0x9a, 0xac, 0x81, 0x3b, 0xc8, 0x83, 0x47, 0xd3, 0xc9, 0xf4, 0xf2, 0x3a, 0x47, 0x76, 0xfd, 0xdf,
0x1c, 0x38, 0x9b, 0x64, 0x72, 0x49, 0x89, 0xa8, 0x9e, 0x2d, 0xcd, 0x6f, 0x7f, 0x05, 0x0d, 0x41,
0xa2, 0x40, 0x98, 0xa5, 0xbe, 0x77, 0xa3, 0xef, 0x3f, 0x7c, 0x2b, 0x0c, 0x82, 0x44, 0x79, 0x90,
0x2f, 0x00, 0x71, 0xe3, 0x12, 0xc4, 0xd9, 0x52, 0xd2, 0x44, 0x7d, 0xea, 0x0c, 0xd5, 0xf0, 0x63,
0xcb, 0x8c, 0x0a, 0xc2, 0xff, 0xd5, 0x81, 0xf3, 0xe9, 0x9d, 0x20, 0xe9, 0x1d, 0x5f, 0xce, 0xff,
0xcf, 0x73, 0xbd, 0x80, 0x43, 0x99, 0xfb, 0x04, 0xab, 0x70, 0x99, 0x11, 0x7b, 0xa8, 0x56, 0x01,
0xdf, 0x2a, 0xd4, 0xff, 0xdd, 0x81, 0xd3, 0x2d, 0x31, 0x53, 0x4c, 0xd2, 0x84, 0xb3, 0x94, 0xa0,
0xe7, 0xd0, 0x92, 0x5c, 0x86, 0xcb, 0x20, 0xba, 0x0b, 0x19, 0x23, 0xcb, 0x54, 0x9f, 0x68, 0x17,
0x37, 0x35, 0x7a, 0x65, 0x41, 0x74, 0x01, 0x4f, 0x22, 0xce, 0x52, 0x3a, 0x27, 0x82, 0xcc, 0x4b,
0x6d, 0x4d, 0x6b, 0x51, 0x49, 0x15, 0x1b, 0xbe, 0x81, 0x43, 0x51, 0xb5, 0x6c, 0xbb, 0x1d, 0xb7,
0xdb, 0xe8, 0x1f, 0xe7, 0x57, 0xdd, 0xb8, 0xe5, 0xa6, 0xdc, 0x67, 0xd0, 0xaa, 0x4a, 0xd0, 0x19,
0x80, 0x72, 0x0e, 0x12, 0x4e, 0x99, 0xc9, 0xdc, 0x01, 0x3e, 0x50, 0xc8, 0x8d, 0x02, 0xd0, 0x11,
0xec, 0xae, 0xa7, 0xc2, 0x2c, 0x54, 0xaa, 0x8a, 0xc8, 0x41, 0xa4, 0x52, 0xd1, 0x76, 0x3b, 0x4e,
0x77, 0x1f, 0xb7, 0x0a, 0x58, 0x27, 0xc8, 0x7f, 0x0b, 0x47, 0x98, 0xac, 0x08, 0xcb, 0x08, 0x26,
0x09, 0x17, 0x32, 0xcf, 0xf5, 0x39, 0x34, 0x4a, 0x57, 0x95, 0x1e, 0xb7, 0x7b, 0x80, 0xa1, 0xb0,
0x4d, 0xd5, 0xb1, 0x52, 0x19, 0x0a, 0x19, 0x48, 0x1a, 0x1b, 0xf3, 0x1d, 0x7c, 0xa0, 0x91, 0x29,
0x8d, 0x09, 0xfa, 0x08, 0xf6, 0x95, 0xb5, 0x26, 0x5d, 0x4d, 0xee, 0x11, 0x36, 0x57, 0x94, 0xff,
0x2d, 0x3c, 0xdd, 0xb0, 0xb4, 0x55, 0xb9, 0x80, 0x3d, 0xa1, 0x11, 0xe3, 0xd7, 0xe8, 0x3f, 0x2d,
0xb3, 0xb6, 0xae, 0xcf, 0x55, 0xfe, 0x5f, 0x0e, 0x34, 0x2b, 0x94, 0x2e, 0x6c, 0x28, 0x16, 0x44,
0xe6, 0xd5, 0xb2, 0x09, 0x6b, 0x1a, 0xd4, 0x16, 0x0a, 0x0d, 0xe1, 0x51, 0x12, 0x52, 0x11, 0xe4,
0x76, 0x35, 0x6d, 0xf7, 0xc9, 0x56, 0xbb, 0xde, 0x4d, 0x48, 0x85, 0xf9, 0x4c, 0x07, 0x4c, 0x8a,
0x77, 0xb8, 0x91, 0x94, 0xc8, 0x09, 0x06, 0x6f, 0x53, 0x80, 0x3c, 0x70, 0x7f, 0x26, 0xef, 0xac,
0xb5, 0xfa, 0x44, 0xdd, 0xf5, 0x2a, 0x35, 0xfa, 0x28, 0x77, 0x2a, 0xb7, 0xda, 0xca, 0x7d, 0x5d,
0xfb, 0xca, 0xf1, 0xff, 0x70, 0x00, 0x4a, 0x06, 0xbd, 0x84, 0xa3, 0x30, 0xe6, 0x19, 0x93, 0x01,
0xcf, 0xe4, 0x82, 0x53, 0xb6, 0x08, 0xe2, 0x34, 0x94, 0xf6, 0x55, 0x43, 0x86, 0x9b, 0x58, 0x6a,
0x94, 0x86, 0x12, 0x7d, 0x0e, 0xe8, 0x0d, 0x21, 0xe9, 0x86, 0xbe, 0x66, 0x5e, 0x41, 0xc5, 0x54,
0xd4, 0x65, 0x7c, 0xca, 0x22, 0x1e, 0x17, 0x7a, 0x77, 0x3d, 0xfe, 0xd0, 0x52, 0x95, 0xf8, 0x55,
0xfd, 0x4e, 0x19, 0x7f, 0x5d, 0xed, 0xb7, 0xe1, 0xd8, 0x26, 0x7e, 0xc8, 0x52, 0xba, 0xb8, 0x93,
0xf9, 0xb3, 0xe0, 0xff, 0x00, 0x1f, 0xfe, 0x8b, 0xb1, 0xcd, 0x70, 0x09, 0x9e, 0x2d, 0x61, 0x40,
0x2d, 0x67, 0xbb, 0xa2, 0xf8, 0x2d, 0x55, 0xb7, 0xe2, 0xc3, 0xa8, 0x1a, 0xca, 0xff, 0xb3, 0x06,
0xad, 0xaa, 0xe6, 0xa1, 0x1f, 0x93, 0x1a, 0x1e, 0xf9, 0x70, 0x08, 0x52, 0x12, 0x71, 0x36, 0x4f,
0x6d, 0x6f, 0x7b, 0x05, 0xf1, 0xda, 0xe0, 0xaa, 0xd7, 0xb2, 0x44, 0x35, 0x78, 0xa1, 0x34, 0x8d,
0xde, 0x34, 0x68, 0x2e, 0x7b, 0x09, 0x47, 0x2b, 0xbe, 0xcc, 0x62, 0xb2, 0x35, 0x5b, 0xc8, 0x70,
0x95, 0xec, 0x96, 0x3b, 0xaa, 0xf5, 0xdb, 0x5d, 0xdf, 0x51, 0xa9, 0x60, 0x17, 0x74, 0xd6, 0x03,
0x12, 0x0a, 0x46, 0xe6, 0x46, 0x5d, 0xd7, 0xea, 0x96, 0xc2, 0x07, 0x1a, 0xd6, 0xca, 0x67, 0xd0,
0x8c, 0x38, 0x7b, 0x43, 0x45, 0x6c, 0xdf, 0xa7, 0xbd, 0x8e, 0xd3, 0x6d, 0xe2, 0x2a, 0x88, 0xda,
0xb0, 0x97, 0x08, 0xba, 0x0a, 0x25, 0x69, 0xef, 0xeb, 0x67, 0x23, 0x5f, 0xf6, 0x7f, 0x71, 0xc1,
0x9b, 0x12, 0x11, 0x53, 0x16, 0x4a, 0x2e, 0x5e, 0x13, 0xb1, 0x22, 0x02, 0x11, 0x38, 0xde, 0x3e,
0x96, 0xd0, 0xf3, 0xbc, 0x56, 0xef, 0x1d, 0x5b, 0x27, 0xcf, 0xde, 0x33, 0x09, 0xca, 0x96, 0xa0,
0xd0, 0xbe, 0x6f, 0xce, 0xa0, 0x17, 0x79, 0x84, 0x07, 0x26, 0xd1, 0x7f, 0xb4, 0xba, 0xde, 0x7c,
0x58, 0x4e, 0xb7, 0x3f, 0x45, 0x36, 0xe8, 0xd9, 0x3d, 0xac, 0x8d, 0x86, 0xe1, 0x70, 0xa3, 0xcd,
0xd1, 0xc7, 0xdb, 0x9b, 0xb8, 0x38, 0xe6, 0xf9, 0xbd, 0xbc, 0x89, 0xf9, 0x63, 0x5d, 0xff, 0x1b,
0xfa, 0xf2, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0xdf, 0x60, 0xc4, 0x40, 0x09, 0x00, 0x00,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x6f, 0xe3, 0x44,
0x14, 0xc6, 0x71, 0x9b, 0x34, 0x2f, 0x9b, 0xc4, 0x3b, 0xdb, 0x2d, 0xa1, 0x6a, 0x69, 0x64, 0xed,
0xb2, 0x41, 0x40, 0xba, 0x0a, 0x17, 0xc4, 0x89, 0xaa, 0x8a, 0x4a, 0x44, 0x93, 0x54, 0xb3, 0x49,
0xb9, 0x20, 0x59, 0xc6, 0x99, 0x4d, 0x07, 0xe2, 0x19, 0xef, 0x78, 0x1c, 0x69, 0xff, 0x00, 0x57,
0x0e, 0xfc, 0x19, 0x7e, 0x04, 0x17, 0x0e, 0xfc, 0x17, 0x8e, 0xc8, 0x33, 0x63, 0x3b, 0x0e, 0x69,
0xcb, 0x85, 0x9b, 0xe7, 0xfb, 0xbe, 0x79, 0xdf, 0xcc, 0x7b, 0x2f, 0xf3, 0x02, 0x75, 0x11, 0x05,
0xfd, 0x48, 0x70, 0xc9, 0x51, 0x75, 0xb9, 0x66, 0x22, 0x0a, 0x8e, 0x4f, 0x96, 0x9c, 0x2f, 0x57,
0xe4, 0xdc, 0x8f, 0xe8, 0xb9, 0xcf, 0x18, 0x97, 0xbe, 0xa4, 0x9c, 0xc5, 0x5a, 0xe5, 0xfe, 0x6d,
0xc1, 0xf1, 0xe5, 0x8a, 0xc7, 0x04, 0x93, 0x80, 0x87, 0x21, 0x61, 0x0b, 0x45, 0x63, 0xf2, 0x2e,
0x21, 0xb1, 0x44, 0x9f, 0xc1, 0xd3, 0x90, 0x32, 0x1a, 0x26, 0xa1, 0x17, 0x72, 0x46, 0x25, 0x17,
0x64, 0xd1, 0xb1, 0xba, 0x56, 0xcf, 0xc6, 0x8e, 0x21, 0xc6, 0x19, 0x8e, 0x2e, 0xa0, 0x1a, 0x12,
0x29, 0x68, 0xd0, 0xa9, 0x74, 0xad, 0x5e, 0x6b, 0xf0, 0x69, 0x5f, 0x1f, 0xa1, 0x7f, 0xbf, 0x41,
0x7f, 0xac, 0x36, 0x60, 0xb3, 0xd1, 0xfd, 0x09, 0xaa, 0x1a, 0x41, 0x0d, 0xa8, 0xcd, 0x27, 0xdf,
0x4d, 0xa6, 0xdf, 0x4f, 0x9c, 0x0f, 0x10, 0x40, 0x75, 0x7e, 0x33, 0x1b, 0x8d, 0x87, 0x8e, 0x95,
0x12, 0x78, 0x78, 0x3b, 0x9c, 0xcc, 0x87, 0x4e, 0x05, 0x3d, 0x83, 0xf6, 0x68, 0x72, 0x39, 0x1d,
0x8f, 0x26, 0x57, 0xde, 0xed, 0xf4, 0x7a, 0x3e, 0x1e, 0x3a, 0x76, 0x0a, 0x4e, 0xe7, 0xb3, 0xab,
0xe9, 0x06, 0xb8, 0x87, 0x1c, 0x78, 0x32, 0x9b, 0xce, 0x2e, 0xae, 0x33, 0x64, 0xdf, 0xfd, 0xcd,
0x82, 0xd3, 0x69, 0x22, 0x57, 0x94, 0x88, 0xf2, 0xd9, 0xe2, 0xec, 0xf6, 0x97, 0xd0, 0x10, 0x24,
0xf0, 0x84, 0x5e, 0xaa, 0x7b, 0x37, 0x06, 0xee, 0xe3, 0xb7, 0xc2, 0x20, 0x48, 0x90, 0x05, 0xf9,
0x02, 0x10, 0xd7, 0x2e, 0x5e, 0x98, 0xac, 0x24, 0x8d, 0xd2, 0x4f, 0x95, 0xa1, 0x0a, 0x7e, 0x6a,
0x98, 0x71, 0x4e, 0xb8, 0xbf, 0x5a, 0x70, 0x36, 0xbb, 0x13, 0x24, 0xbe, 0xe3, 0xab, 0xc5, 0xff,
0x79, 0xae, 0x57, 0xd0, 0x96, 0x99, 0x8f, 0xb7, 0xf6, 0x57, 0x09, 0x31, 0x87, 0x6a, 0xe5, 0xf0,
0x6d, 0x8a, 0xba, 0xbf, 0x5b, 0x70, 0xb2, 0x23, 0x66, 0x8c, 0x49, 0x1c, 0x71, 0x16, 0x13, 0xf4,
0x12, 0x5a, 0x92, 0x4b, 0x7f, 0xe5, 0x05, 0x77, 0x3e, 0x63, 0x64, 0x15, 0xab, 0x13, 0xed, 0xe3,
0xa6, 0x42, 0x2f, 0x0d, 0x88, 0xce, 0xe1, 0x59, 0xc0, 0x59, 0x4c, 0x17, 0x44, 0x90, 0x45, 0xa1,
0xad, 0x28, 0x2d, 0x2a, 0xa8, 0x7c, 0xc3, 0x37, 0xd0, 0x16, 0x65, 0xcb, 0x8e, 0xdd, 0xb5, 0x7b,
0x8d, 0xc1, 0x51, 0x76, 0xd5, 0xad, 0x5b, 0x6e, 0xcb, 0x5d, 0x06, 0xad, 0xb2, 0x04, 0x9d, 0x02,
0xa4, 0xce, 0x5e, 0xc4, 0x29, 0xd3, 0x99, 0xab, 0xe3, 0x7a, 0x8a, 0xdc, 0xa4, 0x00, 0x3a, 0x84,
0xfd, 0xcd, 0x54, 0xe8, 0x45, 0x9a, 0xaa, 0x3c, 0xb2, 0x17, 0xa4, 0xa9, 0xe8, 0xd8, 0x5d, 0xab,
0x77, 0x80, 0x5b, 0x39, 0xac, 0x12, 0xe4, 0xbe, 0x83, 0x43, 0x4c, 0xd6, 0x84, 0x25, 0x04, 0x93,
0x88, 0x0b, 0x99, 0xe5, 0xfa, 0x0c, 0x1a, 0x85, 0x6b, 0x9a, 0x1e, 0xbb, 0x57, 0xc7, 0x90, 0xdb,
0xc6, 0xe9, 0xb1, 0x62, 0xe9, 0x0b, 0xe9, 0x49, 0x1a, 0x6a, 0xf3, 0x3d, 0x5c, 0x57, 0xc8, 0x8c,
0x86, 0x04, 0x7d, 0x04, 0x07, 0xa9, 0xb5, 0x22, 0x6d, 0x45, 0xd6, 0x08, 0x5b, 0xa4, 0x94, 0xfb,
0x2d, 0x3c, 0xdf, 0xb2, 0x34, 0x55, 0x39, 0x87, 0x9a, 0x50, 0x88, 0xf6, 0x6b, 0x0c, 0x9e, 0x17,
0x59, 0xdb, 0xd4, 0x67, 0x2a, 0xf7, 0x2f, 0x0b, 0x9a, 0x25, 0x4a, 0x15, 0xd6, 0x17, 0x4b, 0x22,
0xb3, 0x6a, 0x99, 0x84, 0x35, 0x35, 0x6a, 0x0a, 0x85, 0x46, 0xf0, 0x24, 0xf2, 0xa9, 0xf0, 0x32,
0xbb, 0x8a, 0xb2, 0xfb, 0x64, 0xa7, 0x5d, 0xff, 0xc6, 0xa7, 0x42, 0x7f, 0xc6, 0x43, 0x26, 0xc5,
0x7b, 0xdc, 0x88, 0x0a, 0xe4, 0x18, 0x83, 0xb3, 0x2d, 0x40, 0x0e, 0xd8, 0x3f, 0x93, 0xf7, 0xc6,
0x3a, 0xfd, 0x44, 0xbd, 0xcd, 0x2a, 0x35, 0x06, 0x28, 0x73, 0x2a, 0xb6, 0x9a, 0xca, 0x7d, 0x5d,
0xf9, 0xca, 0x72, 0xff, 0xb0, 0x00, 0x0a, 0x06, 0xbd, 0x86, 0x43, 0x3f, 0xe4, 0x09, 0x93, 0x1e,
0x4f, 0xe4, 0x92, 0x53, 0xb6, 0xf4, 0xc2, 0xd8, 0x97, 0xe6, 0x55, 0x43, 0x9a, 0x9b, 0x1a, 0x6a,
0x1c, 0xfb, 0x12, 0x7d, 0x0e, 0xe8, 0x2d, 0x21, 0xf1, 0x96, 0xbe, 0xa2, 0x5f, 0xc1, 0x94, 0x29,
0xa9, 0x8b, 0xf8, 0x94, 0x05, 0x3c, 0xcc, 0xf5, 0xf6, 0x66, 0xfc, 0x91, 0xa1, 0x4a, 0xf1, 0xcb,
0xfa, 0xbd, 0x22, 0xfe, 0xa6, 0xda, 0xed, 0xc0, 0x91, 0x49, 0xfc, 0x88, 0xc5, 0x74, 0x79, 0x27,
0xb3, 0x67, 0xc1, 0xfd, 0x01, 0x3e, 0xfc, 0x17, 0x63, 0x9a, 0xe1, 0x02, 0x1c, 0x53, 0x42, 0x8f,
0x1a, 0xce, 0x74, 0x45, 0xfe, 0x5b, 0x2a, 0x6f, 0xc5, 0xed, 0xa0, 0x1c, 0xca, 0xfd, 0xb3, 0x02,
0xad, 0xb2, 0xe6, 0xb1, 0x1f, 0x53, 0x3a, 0x3c, 0xb2, 0xe1, 0xe0, 0xc5, 0x24, 0xe0, 0x6c, 0x11,
0x9b, 0xde, 0x76, 0x72, 0xe2, 0x8d, 0xc6, 0xd3, 0x5e, 0x4b, 0xa2, 0xb4, 0xc1, 0x73, 0xa5, 0x6e,
0xf4, 0xa6, 0x46, 0x33, 0xd9, 0x6b, 0x38, 0x5c, 0xf3, 0x55, 0x12, 0x92, 0x9d, 0xd9, 0x42, 0x9a,
0x2b, 0x65, 0xb7, 0xd8, 0x51, 0xae, 0xdf, 0xfe, 0xe6, 0x8e, 0x52, 0x05, 0x7b, 0xa0, 0xb2, 0xee,
0x11, 0x5f, 0x30, 0xb2, 0xd0, 0xea, 0xaa, 0x52, 0xb7, 0x52, 0x7c, 0xa8, 0x60, 0xa5, 0x7c, 0x01,
0xcd, 0x80, 0xb3, 0xb7, 0x54, 0x84, 0xe6, 0x7d, 0xaa, 0x75, 0xad, 0x5e, 0x13, 0x97, 0x41, 0xd4,
0x81, 0x5a, 0x24, 0xe8, 0xda, 0x97, 0xa4, 0x73, 0xa0, 0x9e, 0x8d, 0x6c, 0x39, 0xf8, 0xc5, 0x06,
0xe7, 0x8a, 0xaf, 0x89, 0x60, 0xbe, 0xe4, 0xe2, 0x0d, 0x11, 0x6b, 0x22, 0x10, 0x81, 0xa3, 0xdd,
0x63, 0x09, 0xbd, 0xcc, 0x6a, 0xf5, 0xe0, 0xd8, 0x3a, 0x7e, 0xf1, 0xc0, 0x24, 0x28, 0x5a, 0x82,
0x42, 0xe7, 0xbe, 0x39, 0x83, 0x5e, 0x65, 0x11, 0x1e, 0x99, 0x44, 0xff, 0xd1, 0xea, 0x7a, 0xfb,
0x61, 0x39, 0xd9, 0xfd, 0x14, 0x99, 0xa0, 0xa7, 0xf7, 0xb0, 0x26, 0x1a, 0x86, 0xf6, 0x56, 0x9b,
0xa3, 0x8f, 0x77, 0x37, 0x71, 0x7e, 0xcc, 0xb3, 0x7b, 0x79, 0x1d, 0xf3, 0xc7, 0xaa, 0xfa, 0x37,
0xf4, 0xe5, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x9a, 0x34, 0x4e, 0x40, 0x09, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -885,163 +885,163 @@ var _ grpc.ClientConn
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// TerminatorServerClient is the client API for TerminatorServer service.
// GovernatorServerClient is the client API for GovernatorServer service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type TerminatorServerClient interface {
type GovernatorServerClient interface {
OutlierRecommendations(ctx context.Context, in *OutlierRecommendationsRequest, opts ...grpc.CallOption) (*CloseRecommendationsResponse, error)
ThresholdRecommendations(ctx context.Context, in *ThresholdRecommendationsRequest, opts ...grpc.CallOption) (*CloseRecommendationsResponse, error)
RevenueReport(ctx context.Context, in *RevenueReportRequest, opts ...grpc.CallOption) (*RevenueReportResponse, error)
ChannelInsights(ctx context.Context, in *ChannelInsightsRequest, opts ...grpc.CallOption) (*ChannelInsightsResponse, error)
}
type terminatorServerClient struct {
type governatorServerClient struct {
cc *grpc.ClientConn
}
func NewTerminatorServerClient(cc *grpc.ClientConn) TerminatorServerClient {
return &terminatorServerClient{cc}
func NewGovernatorServerClient(cc *grpc.ClientConn) GovernatorServerClient {
return &governatorServerClient{cc}
}
func (c *terminatorServerClient) OutlierRecommendations(ctx context.Context, in *OutlierRecommendationsRequest, opts ...grpc.CallOption) (*CloseRecommendationsResponse, error) {
func (c *governatorServerClient) OutlierRecommendations(ctx context.Context, in *OutlierRecommendationsRequest, opts ...grpc.CallOption) (*CloseRecommendationsResponse, error) {
out := new(CloseRecommendationsResponse)
err := c.cc.Invoke(ctx, "/trmrpc.TerminatorServer/OutlierRecommendations", in, out, opts...)
err := c.cc.Invoke(ctx, "/gvnrpc.GovernatorServer/OutlierRecommendations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *terminatorServerClient) ThresholdRecommendations(ctx context.Context, in *ThresholdRecommendationsRequest, opts ...grpc.CallOption) (*CloseRecommendationsResponse, error) {
func (c *governatorServerClient) ThresholdRecommendations(ctx context.Context, in *ThresholdRecommendationsRequest, opts ...grpc.CallOption) (*CloseRecommendationsResponse, error) {
out := new(CloseRecommendationsResponse)
err := c.cc.Invoke(ctx, "/trmrpc.TerminatorServer/ThresholdRecommendations", in, out, opts...)
err := c.cc.Invoke(ctx, "/gvnrpc.GovernatorServer/ThresholdRecommendations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *terminatorServerClient) RevenueReport(ctx context.Context, in *RevenueReportRequest, opts ...grpc.CallOption) (*RevenueReportResponse, error) {
func (c *governatorServerClient) RevenueReport(ctx context.Context, in *RevenueReportRequest, opts ...grpc.CallOption) (*RevenueReportResponse, error) {
out := new(RevenueReportResponse)
err := c.cc.Invoke(ctx, "/trmrpc.TerminatorServer/RevenueReport", in, out, opts...)
err := c.cc.Invoke(ctx, "/gvnrpc.GovernatorServer/RevenueReport", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *terminatorServerClient) ChannelInsights(ctx context.Context, in *ChannelInsightsRequest, opts ...grpc.CallOption) (*ChannelInsightsResponse, error) {
func (c *governatorServerClient) ChannelInsights(ctx context.Context, in *ChannelInsightsRequest, opts ...grpc.CallOption) (*ChannelInsightsResponse, error) {
out := new(ChannelInsightsResponse)
err := c.cc.Invoke(ctx, "/trmrpc.TerminatorServer/ChannelInsights", in, out, opts...)
err := c.cc.Invoke(ctx, "/gvnrpc.GovernatorServer/ChannelInsights", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// TerminatorServerServer is the server API for TerminatorServer service.
type TerminatorServerServer interface {
// GovernatorServerServer is the server API for GovernatorServer service.
type GovernatorServerServer interface {
OutlierRecommendations(context.Context, *OutlierRecommendationsRequest) (*CloseRecommendationsResponse, error)
ThresholdRecommendations(context.Context, *ThresholdRecommendationsRequest) (*CloseRecommendationsResponse, error)
RevenueReport(context.Context, *RevenueReportRequest) (*RevenueReportResponse, error)
ChannelInsights(context.Context, *ChannelInsightsRequest) (*ChannelInsightsResponse, error)
}
func RegisterTerminatorServerServer(s *grpc.Server, srv TerminatorServerServer) {
s.RegisterService(&_TerminatorServer_serviceDesc, srv)
func RegisterGovernatorServerServer(s *grpc.Server, srv GovernatorServerServer) {
s.RegisterService(&_GovernatorServer_serviceDesc, srv)
}
func _TerminatorServer_OutlierRecommendations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
func _GovernatorServer_OutlierRecommendations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(OutlierRecommendationsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TerminatorServerServer).OutlierRecommendations(ctx, in)
return srv.(GovernatorServerServer).OutlierRecommendations(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/trmrpc.TerminatorServer/OutlierRecommendations",
FullMethod: "/gvnrpc.GovernatorServer/OutlierRecommendations",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TerminatorServerServer).OutlierRecommendations(ctx, req.(*OutlierRecommendationsRequest))
return srv.(GovernatorServerServer).OutlierRecommendations(ctx, req.(*OutlierRecommendationsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TerminatorServer_ThresholdRecommendations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
func _GovernatorServer_ThresholdRecommendations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ThresholdRecommendationsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TerminatorServerServer).ThresholdRecommendations(ctx, in)
return srv.(GovernatorServerServer).ThresholdRecommendations(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/trmrpc.TerminatorServer/ThresholdRecommendations",
FullMethod: "/gvnrpc.GovernatorServer/ThresholdRecommendations",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TerminatorServerServer).ThresholdRecommendations(ctx, req.(*ThresholdRecommendationsRequest))
return srv.(GovernatorServerServer).ThresholdRecommendations(ctx, req.(*ThresholdRecommendationsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TerminatorServer_RevenueReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
func _GovernatorServer_RevenueReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RevenueReportRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TerminatorServerServer).RevenueReport(ctx, in)
return srv.(GovernatorServerServer).RevenueReport(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/trmrpc.TerminatorServer/RevenueReport",
FullMethod: "/gvnrpc.GovernatorServer/RevenueReport",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TerminatorServerServer).RevenueReport(ctx, req.(*RevenueReportRequest))
return srv.(GovernatorServerServer).RevenueReport(ctx, req.(*RevenueReportRequest))
}
return interceptor(ctx, in, info, handler)
}
func _TerminatorServer_ChannelInsights_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
func _GovernatorServer_ChannelInsights_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ChannelInsightsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TerminatorServerServer).ChannelInsights(ctx, in)
return srv.(GovernatorServerServer).ChannelInsights(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/trmrpc.TerminatorServer/ChannelInsights",
FullMethod: "/gvnrpc.GovernatorServer/ChannelInsights",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TerminatorServerServer).ChannelInsights(ctx, req.(*ChannelInsightsRequest))
return srv.(GovernatorServerServer).ChannelInsights(ctx, req.(*ChannelInsightsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _TerminatorServer_serviceDesc = grpc.ServiceDesc{
ServiceName: "trmrpc.TerminatorServer",
HandlerType: (*TerminatorServerServer)(nil),
var _GovernatorServer_serviceDesc = grpc.ServiceDesc{
ServiceName: "gvnrpc.GovernatorServer",
HandlerType: (*GovernatorServerServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "OutlierRecommendations",
Handler: _TerminatorServer_OutlierRecommendations_Handler,
Handler: _GovernatorServer_OutlierRecommendations_Handler,
},
{
MethodName: "ThresholdRecommendations",
Handler: _TerminatorServer_ThresholdRecommendations_Handler,
Handler: _GovernatorServer_ThresholdRecommendations_Handler,
},
{
MethodName: "RevenueReport",
Handler: _TerminatorServer_RevenueReport_Handler,
Handler: _GovernatorServer_RevenueReport_Handler,
},
{
MethodName: "ChannelInsights",
Handler: _TerminatorServer_ChannelInsights_Handler,
Handler: _GovernatorServer_ChannelInsights_Handler,
},
},
Streams: []grpc.StreamDesc{},

View file

@ -2,9 +2,9 @@ syntax = "proto3";
import "google/api/annotations.proto";
package trmrpc;
package gvnrpc;
service TerminatorServer {
service GovernatorServer {
rpc OutlierRecommendations (OutlierRecommendationsRequest) returns (CloseRecommendationsResponse);
rpc ThresholdRecommendations (ThresholdRecommendationsRequest) returns (CloseRecommendationsResponse);
rpc RevenueReport (RevenueReportRequest) returns (RevenueReportResponse);

View file

@ -1,14 +1,14 @@
// Package trmrpc contains the proto files, generated code and server logic
// for the terminator's grpc server which serves requests for close
// Package gvrpc contains the proto files, generated code and server logic
// for the governator's grpc server which serves requests for close
// recommendations.
//
// The Terminator server interface is implemented by the RPCServer struct.
// The Governator server interface is implemented by the RPCServer struct.
// To keep this file readable, each function implemented by the interface
// has a file named after the function call which contains rpc parsing
// code for the request and response. If the call requires extensive
// additional logic, and unexported function with the same name should
// be created in this file as well.
package trmrpc
package gvnrpc
import (
"context"
@ -17,13 +17,13 @@ import (
"sync"
"sync/atomic"
"github.com/lightninglabs/terminator/recommend"
"github.com/lightninglabs/terminator/revenue"
"github.com/lightninglabs/governator/recommend"
"github.com/lightninglabs/governator/revenue"
"github.com/lightningnetwork/lnd/lnrpc"
"google.golang.org/grpc"
)
// RPCServer implements the terminator service, serving requests over grpc.
// RPCServer implements the governator service, serving requests over grpc.
type RPCServer struct {
// To be used atomically.
started int32
@ -103,7 +103,7 @@ func (s *RPCServer) Start() error {
}
s.rpcListener = grpcListener
RegisterTerminatorServerServer(s.grpcServer, s)
RegisterGovernatorServerServer(s.grpcServer, s)
s.wg.Add(1)
go func() {

View file

@ -3,7 +3,7 @@ package insights
import (
"time"
"github.com/lightninglabs/terminator/revenue"
"github.com/lightninglabs/governator/revenue"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnwire"
)

View file

@ -5,7 +5,7 @@ import (
"testing"
"time"
"github.com/lightninglabs/terminator/revenue"
"github.com/lightninglabs/governator/revenue"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnwire"
)

14
log.go
View file

@ -1,16 +1,16 @@
package terminator
package governator
import (
"github.com/btcsuite/btclog"
"github.com/lightninglabs/terminator/dataset"
"github.com/lightninglabs/terminator/recommend"
"github.com/lightninglabs/terminator/revenue"
"github.com/lightninglabs/terminator/trmrpc"
"github.com/lightninglabs/governator/dataset"
"github.com/lightninglabs/governator/gvnrpc"
"github.com/lightninglabs/governator/recommend"
"github.com/lightninglabs/governator/revenue"
"github.com/lightningnetwork/lnd/build"
)
// Subsystem defines the logging code for this subsystem.
const Subsystem = "TERM"
const Subsystem = "GVRN"
var (
logWriter = build.NewRotatingLogWriter()
@ -26,7 +26,7 @@ func init() {
setSubLogger(Subsystem, log, nil)
addSubLogger(recommend.Subsystem, recommend.UseLogger)
addSubLogger(dataset.Subsystem, dataset.UseLogger)
addSubLogger(trmrpc.Subsystem, trmrpc.UseLogger)
addSubLogger(gvnrpc.Subsystem, gvnrpc.UseLogger)
addSubLogger(revenue.Subsystem, revenue.UseLogger)
}

View file

@ -18,8 +18,8 @@ import (
"errors"
"time"
"github.com/lightninglabs/terminator/dataset"
"github.com/lightninglabs/terminator/insights"
"github.com/lightninglabs/governator/dataset"
"github.com/lightninglabs/governator/insights"
)
var (

View file

@ -5,8 +5,8 @@ import (
"testing"
"time"
"github.com/lightninglabs/terminator/dataset"
"github.com/lightninglabs/terminator/insights"
"github.com/lightninglabs/governator/dataset"
"github.com/lightninglabs/governator/insights"
)
// TestCloseRecommendations tests CloseRecommendations for error cases where