MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / main

Function main

main.go:50–128  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

48}
49
50func main() {
51 conf.Name = "IceFireDB"
52 conf.Version = "1.0.1"
53 conf.GitSHA = BuildVersion
54 conf.Flag.Custom = true
55 confInit(&conf)
56 conf.DataDirReady = func(dir string) {
57 //os.RemoveAll(filepath.Join(dir, "main.db"))
58
59 ldsCfg = lediscfg.NewConfigDefault()
60 ldsCfg.DataDir = filepath.Join(dir, "main.db")
61 ldsCfg.Databases = 1
62 ldsCfg.DBName = storageBackend
63
64 var err error
65 le, err = ledis.Open(ldsCfg)
66 if err != nil {
67 log.Printf("failed to open ledis database: %v", err)
68 return
69 }
70
71 ldb, err = le.Select(0)
72 if err != nil {
73 log.Printf("failed to select ledis database: %v", err)
74 return
75 }
76
77 // Obtain the leveldb object and handle it carefully
78 driver := ldb.GetSDB().GetDriver().GetStorageEngine()
79 switch v := driver.(type) {
80 case *leveldb.DB:
81 db = v
82 case *badger.DB:
83 case *kv.CRDTKeyValueDB:
84 db = ldb.GetSDB().GetDriver().(*crdt.DB).GetLevelDB()
85 case *levelkv.LevelKV:
86 switch driver := ldb.GetSDB().GetDriver().(type) {
87 case *ipfs_log.DB:
88 db = driver.GetLevelDB()
89 case *ipfs_synckv.DB:
90 db = driver.GetStorageEngine().(*leveldb.DB)
91 }
92 default:
93 log.Printf("unsupported storage engine: %T", v)
94 return
95 }
96 if storageBackend == hybriddb.StorageName {
97 serverInfo.RegisterExtInfo(ldb.GetSDB().GetDriver().(*hybriddb.DB).Metrics)
98 }
99 if storageBackend == ipfs.StorageName {
100 serverInfo.RegisterExtInfo(ldb.GetSDB().GetDriver().(*ipfs.DB).Metrics)
101 }
102 // if storageBackend == orbitdb.StorageName {
103 // serverInfo.RegisterExtInfo(ldb.GetSDB().GetDriver().(*orbitdb.DB).Metrics)
104 // }
105
106 if storageBackend == oss.StorageName {
107 //serverInfo.RegisterExtInfo(ldb.GetSDB().GetDriver().(*orbitdb.DB).Metrics)

Callers

nothing calls this directly

Calls 5

confInitFunction · 0.85
RegisterExtInfoMethod · 0.80
OpenMethod · 0.45
GetStorageEngineMethod · 0.45
GetLevelDBMethod · 0.45

Tested by

no test coverage detected