1
0
forked from x/ContextOS

mac syn 0.1.0 同步更新

This commit is contained in:
shaoying 2017-12-03 22:08:59 +08:00
parent 3bf1f19bd4
commit 59d16850ab
2 changed files with 17 additions and 13 deletions

View File

@ -16,7 +16,7 @@ type MDB struct {
*ctx.Context *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{ c.Caches = map[string]*ctx.Cache{
"source": &ctx.Cache{Name: "数据库参数", Value: "", Help: "数据库参数"}, "source": &ctx.Cache{Name: "数据库参数", Value: "", Help: "数据库参数"},
"driver": &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: "数据库驱动"}, "driver": &ctx.Config{Name: "数据库驱动(mysql)", Value: "mysql", Help: "数据库驱动"},
}, },
Commands: map[string]*ctx.Command{ 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 { "open": &ctx.Command{Name: "open name help [source [driver]]", Help: "打开数据库", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string {
m.Target = m.Master // {{{ m.Master = m.Target // {{{
m.Start(arg[0], arg[1], arg[2:]...) m.Start(arg[0], arg[1], arg[2:]...)
return "" return ""
// }}} // }}}
}}, }},
"exec": &ctx.Command{Name: "exec sql [arg]", Help: "执行操作语句", "exec": &ctx.Command{Name: "exec sql [arg]", Help: "执行操作语句",
Appends: map[string]string{"LastInsertId": "最后插入元组的标识", "RowsAffected": "修改元组的数量"}, 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) // {{{ mdb, ok := m.Target.Server.(*MDB) // {{{
m.Assert(ok, "目标模块类型错误") m.Assert(ok, "目标模块类型错误")
m.Assert(len(arg) > 0, "缺少参数") m.Assert(len(arg) > 0, "缺少参数")
@ -119,7 +119,7 @@ var Index = &ctx.Context{Name: "mdb", Help: "内存数据库",
return "" 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) // {{{ mdb, ok := m.Target.Server.(*MDB) // {{{
m.Assert(ok, "目标模块类型错误") m.Assert(ok, "目标模块类型错误")
m.Assert(len(arg) > 0, "缺少参数") m.Assert(len(arg) > 0, "缺少参数")
@ -162,9 +162,13 @@ var Index = &ctx.Context{Name: "mdb", Help: "内存数据库",
return "" return ""
// }}} // }}}
}}, }},
"close": &ctx.Command{Name: "close name", Help: "关闭数据库", Hand: func(c *ctx.Context, m *ctx.Message, key string, arg ...string) string { "close": &ctx.Command{Name: "close [name]", Help: "关闭数据库", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) string {
msg := m.Find(arg[0], m.Master) // {{{ if len(arg) > 0 { // {{{
msg.Target.Close(msg) msg := m.Find(arg[0], m.Master)
msg.Target.Close(msg)
} else {
m.Target.Close(m)
}
return "" return ""
// }}} // }}}
}}, }},

View File

@ -16,7 +16,7 @@ type TCP struct {
*ctx.Context *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{ c.Caches = map[string]*ctx.Cache{
"protocol": &ctx.Cache{Name: "protocol(tcp/tcp4/tcp6)", Value: m.Conf("protocol"), Help: "监听地址"}, "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: "加密通信"}, "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: "加密通信"}, "security": &ctx.Config{Name: "security(true/false)", Value: "false", Help: "加密通信"},
}, },
Commands: map[string]*ctx.Command{ 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) { // {{{ switch len(arg) { // {{{
case 0: case 0:
m.Travel(m.Target, func(m *ctx.Message) bool { m.Travel(m.Target, func(m *ctx.Message) bool {
@ -121,7 +121,7 @@ var Index = &ctx.Context{Name: "tcp", Help: "网络连接",
return "" 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) { // {{{ switch len(arg) { // {{{
case 0: case 0:
m.Travel(m.Target, func(m *ctx.Message) bool { m.Travel(m.Target, func(m *ctx.Message) bool {
@ -136,14 +136,14 @@ var Index = &ctx.Context{Name: "tcp", Help: "网络连接",
return "" 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 { // {{{ if tcp, ok := m.Target.Server.(*TCP); ok && tcp.Conn != nil { // {{{
tcp.Conn.Write([]byte(arg[0])) tcp.Conn.Write([]byte(arg[0]))
} }
return "" 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 { // {{{ if tcp, ok := m.Target.Server.(*TCP); ok && tcp.Conn != nil { // {{{
size, e := strconv.Atoi(arg[0]) size, e := strconv.Atoi(arg[0])
m.Assert(e) m.Assert(e)