From 59d16850ab9330e6dd6941918b3dbe61d24d0f9f Mon Sep 17 00:00:00 2001 From: shaoying Date: Sun, 3 Dec 2017 22:08:59 +0800 Subject: [PATCH] =?UTF-8?q?mac=20syn=200.1.0=20=E5=90=8C=E6=AD=A5=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/context/mdb/mdb.go | 20 ++++++++++++-------- src/context/tcp/tcp.go | 10 +++++----- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/context/mdb/mdb.go b/src/context/mdb/mdb.go index 642469d2..58ba75eb 100644 --- a/src/context/mdb/mdb.go +++ b/src/context/mdb/mdb.go @@ -16,7 +16,7 @@ type MDB struct { *ctx.Context } -func (mdb *MDB) Spawn(c *ctx.Context, m *ctx.Message, arg ...string) ctx.Server { // {{{ +func (mdb *MDB) Spawn(m *ctx.Message, c *ctx.Context, arg ...string) ctx.Server { // {{{ c.Caches = map[string]*ctx.Cache{ "source": &ctx.Cache{Name: "数据库参数", Value: "", Help: "数据库参数"}, "driver": &ctx.Cache{Name: "数据库驱动", Value: "", Help: "数据库驱动"}, @@ -87,15 +87,15 @@ var Index = &ctx.Context{Name: "mdb", Help: "内存数据库", "driver": &ctx.Config{Name: "数据库驱动(mysql)", Value: "mysql", Help: "数据库驱动"}, }, Commands: map[string]*ctx.Command{ - "open": &ctx.Command{Name: "open name help [source [driver]]", Help: "打开数据库", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { - m.Target = m.Master // {{{ + "open": &ctx.Command{Name: "open name help [source [driver]]", Help: "打开数据库", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { + m.Master = m.Target // {{{ m.Start(arg[0], arg[1], arg[2:]...) return "" // }}} }}, "exec": &ctx.Command{Name: "exec sql [arg]", Help: "执行操作语句", Appends: map[string]string{"LastInsertId": "最后插入元组的标识", "RowsAffected": "修改元组的数量"}, - Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { + Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { mdb, ok := m.Target.Server.(*MDB) // {{{ m.Assert(ok, "目标模块类型错误") m.Assert(len(arg) > 0, "缺少参数") @@ -119,7 +119,7 @@ var Index = &ctx.Context{Name: "mdb", Help: "内存数据库", return "" // }}} }}, - "query": &ctx.Command{Name: "query sql [arg]", Help: "执行查询语句", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { + "query": &ctx.Command{Name: "query sql [arg]", Help: "执行查询语句", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { mdb, ok := m.Target.Server.(*MDB) // {{{ m.Assert(ok, "目标模块类型错误") m.Assert(len(arg) > 0, "缺少参数") @@ -162,9 +162,13 @@ var Index = &ctx.Context{Name: "mdb", Help: "内存数据库", return "" // }}} }}, - "close": &ctx.Command{Name: "close name", Help: "关闭数据库", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { - msg := m.Find(arg[0], m.Master) // {{{ - msg.Target.Close(msg) + "close": &ctx.Command{Name: "close [name]", Help: "关闭数据库", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { + if len(arg) > 0 { // {{{ + msg := m.Find(arg[0], m.Master) + msg.Target.Close(msg) + } else { + m.Target.Close(m) + } return "" // }}} }}, diff --git a/src/context/tcp/tcp.go b/src/context/tcp/tcp.go index 2b9b2187..ab74b3e8 100644 --- a/src/context/tcp/tcp.go +++ b/src/context/tcp/tcp.go @@ -16,7 +16,7 @@ type TCP struct { *ctx.Context } -func (tcp *TCP) Spawn(c *ctx.Context, m *ctx.Message, arg ...string) ctx.Server { // {{{ +func (tcp *TCP) Spawn(m *ctx.Message, c *ctx.Context, arg ...string) ctx.Server { // {{{ c.Caches = map[string]*ctx.Cache{ "protocol": &ctx.Cache{Name: "protocol(tcp/tcp4/tcp6)", Value: m.Conf("protocol"), Help: "监听地址"}, "security": &ctx.Cache{Name: "security(true/false)", Value: m.Conf("security"), Help: "加密通信"}, @@ -106,7 +106,7 @@ var Index = &ctx.Context{Name: "tcp", Help: "网络连接", "security": &ctx.Config{Name: "security(true/false)", Value: "false", Help: "加密通信"}, }, Commands: map[string]*ctx.Command{ - "listen": &ctx.Command{Name: "listen [address [security]]", Help: "监听连接", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { + "listen": &ctx.Command{Name: "listen [address [security]]", Help: "监听连接", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { switch len(arg) { // {{{ case 0: m.Travel(m.Target, func(m *ctx.Message) bool { @@ -121,7 +121,7 @@ var Index = &ctx.Context{Name: "tcp", Help: "网络连接", return "" // }}} }}, - "dial": &ctx.Command{Name: "dial [address [security]]", Help: "建立连接", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { + "dial": &ctx.Command{Name: "dial [address [security]]", Help: "建立连接", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { switch len(arg) { // {{{ case 0: m.Travel(m.Target, func(m *ctx.Message) bool { @@ -136,14 +136,14 @@ var Index = &ctx.Context{Name: "tcp", Help: "网络连接", return "" // }}} }}, - "send": &ctx.Command{Name: "send message", Help: "发送消息", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { + "send": &ctx.Command{Name: "send message", Help: "发送消息", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { if tcp, ok := m.Target.Server.(*TCP); ok && tcp.Conn != nil { // {{{ tcp.Conn.Write([]byte(arg[0])) } return "" // }}} }}, - "recv": &ctx.Command{Name: "recv size", Help: "接收消息", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { + "recv": &ctx.Command{Name: "recv size", Help: "接收消息", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string { if tcp, ok := m.Target.Server.(*TCP); ok && tcp.Conn != nil { // {{{ size, e := strconv.Atoi(arg[0]) m.Assert(e)