package main

import (
	"errors"
	"flag"
	"net/http"
	_ "net/http/pprof"
)

func main() {
	if err := by_command(); err != nil {
		panic(err)
	}
}

func by_command() error {
	cmd := flag.String("cmd", "", "cmd as encode, decode, ts, batch, torname, fromrname, part...")
	pprof := flag.Bool("pprof", false, "enable pprof on :6060")
	flag.Parse()
	if *pprof {
		go func() { http.ListenAndServe(":6060", nil) }()
	}
	err := errors.New("unknown command " + *cmd)
	switch *cmd {
	case "encode":
		err = Enc()
	case "decode":
		err = Dec()
	}
	return err
}
