Tweaks, getting listener working for transwarp transport. (#44)

This commit is contained in:
Michael Quigley
2020-03-17 15:21:00 -04:00
parent 7b13c92e93
commit 14bcf252e8
2 changed files with 13 additions and 6 deletions
+4 -4
View File
@@ -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))
}
+9 -2
View File
@@ -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
}
}