package main import ( "flag" "log" "net" "google.golang.org/grpc" statsv1 "github.com/bergabruh/stats-gateway/gen/stats/v1" "github.com/bergabruh/stats-gateway/internal/service" "github.com/bergabruh/stats-gateway/internal/storage" ) func main() { addr := flag.String("addr", "127.0.0.1:50051", "listen address") dbPath := flag.String("db", "/var/lib/stats-gateway/stats.db", "sqlite path") flag.Parse() st, err := storage.Open(*dbPath) if err != nil { log.Fatalf("storage: %v", err) } defer st.Close() lis, err := net.Listen("tcp", *addr) if err != nil { log.Fatalf("listen: %v", err) } srv := grpc.NewServer() statsv1.RegisterSpeedStatusServer(srv, service.New(st)) log.Printf("stats-gateway listening on %s", *addr) if err := srv.Serve(lis); err != nil { log.Fatalf("serve: %v", err) } }