diff --git a/pkg/lru/define.go b/pkg/lru/define.go index 84d56d16a41d87c0bb0996c0acd76d53ab9306ae..8d9f76d6426f52bb7d1a39f1be8eb3df20d23d05 100644 --- a/pkg/lru/define.go +++ b/pkg/lru/define.go @@ -6,17 +6,17 @@ type SingleWorkFunc func() interface{} const ( OptionEventName = "operateEvent" - CleanEventName = "clearEvent" + CleanEventName = "clearEvent" WorkFuncEventKey = "workFunc" ) var ( lruCacheOnce sync.Once - lruCache *singleCache + lruCache *singleCache ) const ( - lruMaxSize = 1*1024*1024*1024*8 - lruClearSize = 0.5*1024*1024*1024*8 + lruMaxSize = 1 * 1024 * 1024 * 1024 * 8 + lruClearSize = 0.5 * 1024 * 1024 * 1024 * 8 lruEventDriver = 2000 ) 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) + +} diff --git a/pkg/middle/middleware_driver_test.go b/pkg/middle/middleware_driver_test.go new file mode 100644 index 0000000000000000000000000000000000000000..1e350ce5fa33349fcecdd2632b96531fafa68d4c --- /dev/null +++ b/pkg/middle/middleware_driver_test.go @@ -0,0 +1,50 @@ +package middle + +import ( + "context" + "fmt" + "testing" + + "gitee.com/timedb/wheatCache/pkg/event" +) + +func Test_middleware_driver(t *testing.T) { + + ctx := context.Background() + type Library struct { + driver MiddleWare + } + + library := &Library{ + driver: *NewMiddleWare(), + } + + library.driver.work(ctx) + + type A struct { + produce event.ProduceInterface + } + + a := &A{ + produce: event.NewProduce(library.driver.eventDriver), + } + + type B struct { + cumsumer event.ConsumerInterface + } + + b := &B{ + cumsumer: event.NewConsumer(library.driver.eventDriver), + } + + book := event.NewEvent("book") + book.SetMsg("title", "goland") + book.SetValue("page", 100) + + go func() { + a.produce.Call(ctx, book) + }() + + b_book := b.cumsumer.Receive(ctx) + fmt.Println(b_book.GetMsg("title")) +} diff --git a/shell/make-struct.py b/shell/make-struct.py index 86e9787541a225a6a2cd7e7b94c3c20c676dfdc3..030369e486a4374207de9d4ac717d66510100d5f 100644 --- a/shell/make-struct.py +++ b/shell/make-struct.py @@ -62,7 +62,6 @@ def set_structure_const_template(conf: dict): val_set = [] for k, v in conf.items(): key_map.append(KeyMap(key=k, val=v)) - for val in v: val_set.append(val.upper()) diff --git a/shell/proto.py b/shell/proto.py index 9c2b57f6c210384608ee11a23a56c45079686f94..05f815f0d54306779dbc9933401da2da73c96d53 100644 --- a/shell/proto.py +++ b/shell/proto.py @@ -14,7 +14,7 @@ def out_proto(): for f in files: commend = comm.format(protoPath, root, sysPath, f).strip() err = os.system(commend) - + if err: print(f, "-> out put err") else: @@ -23,3 +23,4 @@ def out_proto(): if __name__ == '__main__': out_proto() +