Commit db3fa0df authored by 贾浩@五瓣科技's avatar 贾浩@五瓣科技

update engine init

parent 8e04c110
package engine package engine
import ( import (
"fmt"
"sync" "sync"
"github.com/exchain/process/database" "github.com/exchain/process/database"
...@@ -8,6 +9,7 @@ import ( ...@@ -8,6 +9,7 @@ import (
"github.com/exchain/process/orderbook" "github.com/exchain/process/orderbook"
"github.com/exchain/process/types" "github.com/exchain/process/types"
"github.com/ethereum/go-ethereum/log"
"github.com/exchain/go-exchain/exchain" "github.com/exchain/go-exchain/exchain"
"github.com/exchain/go-exchain/exchain/chaindb" "github.com/exchain/go-exchain/exchain/chaindb"
nebulav1 "github.com/exchain/go-exchain/exchain/protocol/gen/go/nebula/v1" nebulav1 "github.com/exchain/go-exchain/exchain/protocol/gen/go/nebula/v1"
...@@ -16,6 +18,7 @@ import ( ...@@ -16,6 +18,7 @@ import (
// Engine 实现订单撮合引擎 // Engine 实现订单撮合引擎
type Engine struct { type Engine struct {
log log.Logger
db *database.DexDB db *database.DexDB
orderbooks map[string]*orderbook.OrderBook orderbooks map[string]*orderbook.OrderBook
chainDB chaindb.ChainDB chainDB chaindb.ChainDB
...@@ -23,6 +26,8 @@ type Engine struct { ...@@ -23,6 +26,8 @@ type Engine struct {
sync.Mutex sync.Mutex
} }
var _ exchain.Engine = (*Engine)(nil)
var eg *Engine var eg *Engine
func GetEngine() *Engine { func GetEngine() *Engine {
...@@ -33,12 +38,12 @@ func GetEngine() *Engine { ...@@ -33,12 +38,12 @@ func GetEngine() *Engine {
} }
// NewEngine 创建一个新的订单撮合引擎 // NewEngine 创建一个新的订单撮合引擎
func NewEngine(chainDB chaindb.ChainDB) *Engine { func NewEngine(dataroot string, log log.Logger, chainDB chaindb.ChainDB) *Engine {
if eg != nil { if eg != nil {
return eg return eg
} }
lvdb, err := leveldb.New("data/dexdb", 1024, 1024, "dexdata", false) lvdb, err := leveldb.New(fmt.Sprintf("%s/orderdata", dataroot), 1024, 1024, "orderdata", false)
if err != nil { if err != nil {
panic(err) panic(err)
} }
...@@ -49,6 +54,7 @@ func NewEngine(chainDB chaindb.ChainDB) *Engine { ...@@ -49,6 +54,7 @@ func NewEngine(chainDB chaindb.ChainDB) *Engine {
} }
eg = &Engine{ eg = &Engine{
log: log,
db: db, db: db,
orderbooks: make(map[string]*orderbook.OrderBook), orderbooks: make(map[string]*orderbook.OrderBook),
chainDB: chainDB, chainDB: chainDB,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment