From 09d6ad4bcef43510e8ae4b80729f5c6e32ed9682 Mon Sep 17 00:00:00 2001 From: shaoying Date: Sun, 26 Feb 2023 08:26:10 +0800 Subject: [PATCH] opt some --- base/web/broad.go | 15 +++++++++++---- base/web/serve.go | 2 +- misc/git/status.go | 5 +++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/base/web/broad.go b/base/web/broad.go index da1ee077..4dd1f3d8 100644 --- a/base/web/broad.go +++ b/base/web/broad.go @@ -18,16 +18,16 @@ func _broad_addr(m *ice.Message, host, port string) *net.UDPAddr { } 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) { 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) s.Write([]byte(msg.FormatMeta())) } } 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) { defer s.Close() defer mdb.HashCreateDeferRemove(m, tcp.HOST, host, tcp.PORT, port, kit.Dict(mdb.TARGET, s))() @@ -59,12 +59,19 @@ const BROAD = "broad" func init() { Index.MergeCommands(ice.Commands{ 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) { _broad_serve(m, m.Cmd(tcp.HOST).Append(aaa.IP), m.Option(tcp.PORT)) }}, OPEN: {Hand: func(m *ice.Message, arg ...string) { 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())}, }) } diff --git a/base/web/serve.go b/base/web/serve.go index 9dc44784..8d4abf2a 100644 --- a/base/web/serve.go +++ b/base/web/serve.go @@ -27,7 +27,7 @@ func _serve_start(m *ice.Message) { m.Option(tcp.PORT, m.Cmdx(tcp.PORT, aaa.RIGHT)) } 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)) { m.Cmd(SPACE, tcp.DIAL, ice.DEV, v, mdb.NAME, ice.Info.NodeName) } diff --git a/misc/git/status.go b/misc/git/status.go index 2325a88e..eb6bb02d 100644 --- a/misc/git/status.go +++ b/misc/git/status.go @@ -266,6 +266,11 @@ func init() { "change": {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")) }}, "branch_switch": {Help: "切换", Hand: func(m *ice.Message, arg ...string) {