2016-01-28 10:16:26 -05:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2016-08-17 09:28:45 -04:00
|
|
|
log "github.com/Sirupsen/logrus"
|
2016-06-17 21:07:16 -07:00
|
|
|
"github.com/hkparker/go-i2p/lib/router"
|
2017-08-27 10:48:34 -04:00
|
|
|
"github.com/hkparker/go-i2p/lib/util/signals"
|
2016-01-28 10:16:26 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
2017-08-27 10:48:34 -04:00
|
|
|
go signals.Handle()
|
2016-01-29 07:22:31 -05:00
|
|
|
log.Info("parsing i2p router configuration")
|
2016-01-28 10:16:26 -05:00
|
|
|
|
2016-01-29 07:22:31 -05:00
|
|
|
log.Info("starting up i2p router")
|
|
|
|
r, err := router.CreateRouter()
|
|
|
|
if err == nil {
|
2017-08-27 10:48:34 -04:00
|
|
|
signals.RegisterReloadHandler(func() {
|
|
|
|
// TODO: reload config
|
|
|
|
})
|
|
|
|
signals.RegisterInterruptHandler(func() {
|
|
|
|
// TODO: graceful shutdown
|
|
|
|
r.Stop()
|
|
|
|
})
|
2017-08-27 11:02:37 -04:00
|
|
|
r.Start()
|
2017-08-27 10:48:34 -04:00
|
|
|
r.Wait()
|
2017-08-27 11:02:37 -04:00
|
|
|
r.Close()
|
2016-01-29 07:22:31 -05:00
|
|
|
} else {
|
|
|
|
log.Errorf("failed to create i2p router: %s", err)
|
|
|
|
}
|
2016-01-28 10:16:26 -05:00
|
|
|
}
|