added initial typing of forwarders, now only tcp

This commit is contained in:
2026-03-26 17:17:18 +02:00
parent e05d610882
commit 230022f856
8 changed files with 115 additions and 68 deletions

View File

@@ -27,7 +27,7 @@ func NewProxy() *Proxy {
}
}
func (bal *Proxy) AddForwarder(ctx context.Context, lport, dport uint32, addrs ...string) error {
func (bal *Proxy) AddForwarder(ctx context.Context, typ string, lport, dport uint32, addrs ...string) error {
var err error
if lport == 0 {
return errors.New("Zero lport")
@@ -35,13 +35,13 @@ func (bal *Proxy) AddForwarder(ctx context.Context, lport, dport uint32, addrs .
if dport == 0 {
return errors.New("Zero dport")
}
forw, err := NewForwarder(ctx, lport, dport, addrs...)
forw, err := NewForwarder(ctx, typ, lport, dport, addrs...)
if err != nil {
return err
}
bal.Forwarders = append(bal.Forwarders, forw)
bal.wg.Add(1)
go forw.Listen(&bal.wg)
go forw.ListenTCP(&bal.wg)
return err
}
@@ -78,7 +78,7 @@ func (bal *Proxy) Start() error {
var err error
for _, forw := range bal.Forwarders {
bal.wg.Add(1)
go forw.Listen(&bal.wg)
go forw.ListenTCP(&bal.wg)
}
bal.wg.Wait()
return err