本文整理汇总了Golang中github.com/syndtr/goleveldb/leveldb/storage.Storage.Close方法的典型用法代码示例。如果您正苦于以下问题:Golang Storage.Close方法的具体用法?Golang Storage.Close怎么用?Golang Storage.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/syndtr/goleveldb/leveldb/storage.Storage
的用法示例。
在下文中一共展示了Storage.Close方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
// Main method. Will panic if things are so bad that the application
// will not start.
func main() {
flag.Parse()
log.Println("Event store to use:", *eventStorePath)
log.Println("Command socket path:", *commandSocketZPath)
log.Println("Event publishing socket path:", *eventPublishZPath)
log.Println()
var stor storage.Storage
if *inMemoryStore {
log.Println("!!! WARNING: Using in-memory store.")
log.Println("!!! Events will not be persisted.")
log.Println()
stor = &storage.MemStorage{}
} else {
stor, err := storage.OpenFile(*eventStorePath)
if err != nil {
log.Panicln("could not create DB storage")
}
defer stor.Close()
}
estore, err := eventstore.New(stor)
if err != nil {
log.Panicln(os.Stderr, "could not create event store")
}
context, err := zmq.NewContext()
if err != nil {
log.Panicln(err)
}
initParams := server.InitParams{
Store: estore,
CommandSocketZPath: commandSocketZPath,
EvPubSocketZPath: eventPublishZPath,
ZMQContext: context,
}
serv, err := server.New(&initParams)
if err != nil {
panic(err.Error())
}
sigchan := make(chan os.Signal, 5)
serverStopper := func() {
sig := <-sigchan
if sig == os.Interrupt {
serv.Stop()
}
}
go serverStopper()
signal.Notify(sigchan)
serv.Start()
serv.Wait()
}