package main

import (
        "log"
        "os"
        "time"

        "git.autistici.org/ale/lb/agent"
        "git.autistici.org/ale/lb/contrib/bwmon"
        "git.autistici.org/ale/lb/proto"
        "google.golang.org/grpc"
)

func usage() {
        log.Printf("%s agent-name device balancer-address", os.Args[0])
}

func main() {
        if len(os.Args) < 4 {
                usage()
                return
        }

        dialer, err := lbagent.NewGRPCDialer(os.Args[3], grpc.WithInsecure())
        if err != nil {
                log.Fatal(err)
        }

        agent := lbagent.New(os.Args[1], nil, dialer)
        agent.RegisterUtilization("bandwidth", lbpb.Utilization_COUNTER, bwmon.GetBandwidthUtilization(os.Args[2], bwmon.TX))
        agent.SetUpdateInterval(time.Second)
        agent.SetReady(true)

        agent.Start()
        defer agent.Stop()

        for {
                time.Sleep(time.Hour)
        }
}