From 14bcf252e8fea4722aecffb4133b46bb6d374c3c Mon Sep 17 00:00:00 2001 From: Michael Quigley Date: Tue, 17 Mar 2020 15:21:00 -0400 Subject: [PATCH] Tweaks, getting listener working for transwarp transport. (#44) --- transwarp/address.go | 8 ++++---- transwarp/listener.go | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/transwarp/address.go b/transwarp/address.go index b61c696fc..b4191db60 100644 --- a/transwarp/address.go +++ b/transwarp/address.go @@ -29,12 +29,12 @@ func (self address) Dial(name string, _ *identity.TokenId) (transport.Connection return Dial(self.bindableAddress(), name) } -func (self address) Listen(_ string, _ *identity.TokenId, _ chan transport.Connection) (io.Closer, error) { - return Listen(self.bindableAddress()) +func (self address) Listen(name string, _ *identity.TokenId, incoming chan transport.Connection) (io.Closer, error) { + return Listen(self.bindableAddress(), name, incoming) } -func (self address) MustListen(name string, _ *identity.TokenId, _ chan transport.Connection) io.Closer { - closer, err := self.Listen(name, nil, nil) +func (self address) MustListen(name string, _ *identity.TokenId, incoming chan transport.Connection) io.Closer { + closer, err := self.Listen(name, nil, incoming) if err != nil { panic(fmt.Errorf("cannot listen (%w)", err)) } diff --git a/transwarp/listener.go b/transwarp/listener.go index fd933fda8..ffbc01f9e 100644 --- a/transwarp/listener.go +++ b/transwarp/listener.go @@ -18,11 +18,12 @@ package transwarp import ( "fmt" + "github.com/netfoundry/ziti-foundation/transport" "io" "net" ) -func Listen(bindAddress string) (io.Closer, error) { +func Listen(bindAddress, name string, incoming chan transport.Connection) (io.Closer, error) { listenAddress, err := net.ResolveUDPAddr("udp", bindAddress) if err != nil { return nil, fmt.Errorf("error resolving bind address (%w)", err) @@ -33,5 +34,11 @@ func Listen(bindAddress string) (io.Closer, error) { return nil, fmt.Errorf("error listening (%w)", err) } + incoming <- newConnection(&transport.ConnectionDetail{ + Address: "transwarp" + bindAddress, + InBound: true, + Name: name, + }, socket) + return socket, nil -} \ No newline at end of file +}