diff --git a/pkg/middle/define.go b/pkg/middle/define.go index 678c75b60273afbc6a23455ed128809cea7adb9c..fcc5f63b7723ff75aba58f74a017890c87242bd3 100644 --- a/pkg/middle/define.go +++ b/pkg/middle/define.go @@ -1,7 +1,17 @@ package middle -import getMiddlewareMap "gitee.com/timedb/wheatCache/plugins/config" +import ( + "sync" -func Init() { - getMiddlewareMap.GetMiddlewareMap() + "gitee.com/timedb/wheatCache/plugins" + getMiddlewareMap "gitee.com/timedb/wheatCache/plugins/config" +) + +func Init() map[string]plugins.MiddleToolsInterface { + return getMiddlewareMap.GetMiddlewareMap() } + +var ( + oneMiddle sync.Once + MiddleWareDriver *MiddleWare +) diff --git a/pkg/middle/middleware_driver.go b/pkg/middle/middleware_driver.go new file mode 100644 index 0000000000000000000000000000000000000000..5c58e03412d0a430f5ec911d4b2d9cbf86f1e770 --- /dev/null +++ b/pkg/middle/middleware_driver.go @@ -0,0 +1,34 @@ +package middle + +import ( + "context" + "fmt" + + "gitee.com/timedb/wheatCache/pkg/event" +) + +type MiddleWare struct { + eventDriver event.DriverInterface + eventConsumer event.ConsumerInterface +} + +func NewMiddleWare() *MiddleWare { + oneMiddle.Do(func() { + driver := event.NewDriver(1000) + MiddleWareDriver = &MiddleWare{ + eventDriver: driver, + eventConsumer: event.NewConsumer(driver), + } + }) + return MiddleWareDriver +} + +func (m *MiddleWare) GetEventDriver() event.DriverInterface { + return m.eventDriver +} + +func (m *MiddleWare) work(ctx context.Context) { + getMiddlewareMap := Init() + fmt.Println(getMiddlewareMap) + +}