mirror of
https://shylinux.com/x/icebergs
synced 2025-04-28 18:22:02 +08:00
opt some
This commit is contained in:
parent
09fc9c50ee
commit
09d6ad4bce
@ -18,16 +18,16 @@ func _broad_addr(m *ice.Message, host, port string) *net.UDPAddr {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
func _broad_send(m *ice.Message, host, port string, remote_host, remote_port string) {
|
func _broad_send(m *ice.Message, host, port string, remote_host, remote_port string, arg ...string) {
|
||||||
if s, e := net.DialUDP("udp4", nil, _broad_addr(m, remote_host, remote_port)); !m.Warn(e, ice.ErrNotValid) {
|
if s, e := net.DialUDP("udp4", nil, _broad_addr(m, remote_host, remote_port)); !m.Warn(e, ice.ErrNotValid) {
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
msg := m.Spawn(kit.Dict(tcp.HOST, host, tcp.PORT, port))
|
msg := m.Spawn(kit.Dict(tcp.HOST, host, tcp.PORT, port), kit.Dict(arg))
|
||||||
m.Logs(mdb.EXPORT, BROAD, msg.FormatMeta(), "to", remote_host+ice.DF+remote_port)
|
m.Logs(mdb.EXPORT, BROAD, msg.FormatMeta(), "to", remote_host+ice.DF+remote_port)
|
||||||
s.Write([]byte(msg.FormatMeta()))
|
s.Write([]byte(msg.FormatMeta()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func _broad_serve(m *ice.Message, host, port string) {
|
func _broad_serve(m *ice.Message, host, port string) {
|
||||||
_broad_send(m, host, port, "255.255.255.255", "9020")
|
_broad_send(m, host, port, "255.255.255.255", "9020", mdb.TYPE, ice.Info.NodeType, mdb.NAME, ice.Info.NodeName)
|
||||||
if s, e := net.ListenUDP("udp4", _broad_addr(m, "0.0.0.0", port)); m.Assert(e) {
|
if s, e := net.ListenUDP("udp4", _broad_addr(m, "0.0.0.0", port)); m.Assert(e) {
|
||||||
defer s.Close()
|
defer s.Close()
|
||||||
defer mdb.HashCreateDeferRemove(m, tcp.HOST, host, tcp.PORT, port, kit.Dict(mdb.TARGET, s))()
|
defer mdb.HashCreateDeferRemove(m, tcp.HOST, host, tcp.PORT, port, kit.Dict(mdb.TARGET, s))()
|
||||||
@ -59,12 +59,19 @@ const BROAD = "broad"
|
|||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
BROAD: {Name: "broad hash auto", Help: "广播", Actions: ice.MergeActions(ice.Actions{
|
BROAD: {Name: "broad hash auto", Help: "广播", Actions: ice.MergeActions(ice.Actions{
|
||||||
|
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
if arg[0] == BROAD || arg[0] == mdb.FOREACH {
|
||||||
|
m.Cmd("", ice.Maps{ice.MSG_FIELDS: ""}, func(values ice.Maps) {
|
||||||
|
m.PushSearch(mdb.TEXT, kit.Format("http://%s:%s", values[tcp.HOST], values[tcp.PORT]), values)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}},
|
||||||
SERVE: {Name: "serve port=9020", Hand: func(m *ice.Message, arg ...string) {
|
SERVE: {Name: "serve port=9020", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_broad_serve(m, m.Cmd(tcp.HOST).Append(aaa.IP), m.Option(tcp.PORT))
|
_broad_serve(m, m.Cmd(tcp.HOST).Append(aaa.IP), m.Option(tcp.PORT))
|
||||||
}},
|
}},
|
||||||
OPEN: {Hand: func(m *ice.Message, arg ...string) {
|
OPEN: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
ctx.ProcessOpen(m, kit.Format("http://%s:%s", m.Option(tcp.HOST), m.Option(tcp.PORT)))
|
ctx.ProcessOpen(m, kit.Format("http://%s:%s", m.Option(tcp.HOST), m.Option(tcp.PORT)))
|
||||||
}},
|
}},
|
||||||
}, mdb.HashAction(mdb.SHORT, "host,port", mdb.FIELD, "time,hash,host,port", mdb.ACTION, OPEN), mdb.ClearHashOnExitAction())},
|
}, mdb.HashAction(mdb.SHORT, "host,port", mdb.FIELD, "time,hash,type,name,host,port", mdb.ACTION, OPEN), mdb.ClearHashOnExitAction())},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ func _serve_start(m *ice.Message) {
|
|||||||
m.Option(tcp.PORT, m.Cmdx(tcp.PORT, aaa.RIGHT))
|
m.Option(tcp.PORT, m.Cmdx(tcp.PORT, aaa.RIGHT))
|
||||||
}
|
}
|
||||||
m.Target().Start(m, m.OptionSimple(tcp.HOST, tcp.PORT)...)
|
m.Target().Start(m, m.OptionSimple(tcp.HOST, tcp.PORT)...)
|
||||||
m.Sleep30ms().Go(func() { m.Cmd(BROAD, SERVE, m.OptionSimple(tcp.PORT)) })
|
m.Go(func() { m.Sleep("1s").Cmd(BROAD, SERVE, m.OptionSimple(tcp.PORT)) })
|
||||||
for _, v := range kit.Split(m.Option(ice.DEV)) {
|
for _, v := range kit.Split(m.Option(ice.DEV)) {
|
||||||
m.Cmd(SPACE, tcp.DIAL, ice.DEV, v, mdb.NAME, ice.Info.NodeName)
|
m.Cmd(SPACE, tcp.DIAL, ice.DEV, v, mdb.NAME, ice.Info.NodeName)
|
||||||
}
|
}
|
||||||
|
@ -266,6 +266,11 @@ func init() {
|
|||||||
"change": {Help: "变更", Hand: func(m *ice.Message, arg ...string) {
|
"change": {Help: "变更", Hand: func(m *ice.Message, arg ...string) {
|
||||||
}},
|
}},
|
||||||
"insteadof": {Name: "insteadof from to", Help: "代理", Hand: func(m *ice.Message, arg ...string) {
|
"insteadof": {Name: "insteadof from to", Help: "代理", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmd("configs", func(values ice.Maps) {
|
||||||
|
if values[mdb.VALUE] == m.Option("from") {
|
||||||
|
_configs_set(m, "--unset", values[mdb.NAME])
|
||||||
|
}
|
||||||
|
})
|
||||||
_git_cmd(m, "config", "--global", "url."+m.Option("to")+".insteadOf", m.Option("from"))
|
_git_cmd(m, "config", "--global", "url."+m.Option("to")+".insteadOf", m.Option("from"))
|
||||||
}},
|
}},
|
||||||
"branch_switch": {Help: "切换", Hand: func(m *ice.Message, arg ...string) {
|
"branch_switch": {Help: "切换", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user