func (a *peerAddr) Dial(e *e3x.Endpoint, x *e3x.Exchange) (net.Conn, error) { mod, _ := FromEndpoint(e).(*module) if mod == nil { return nil, net.UnknownNetworkError("unable to bridge") } router := e.GetExchange(a.router) if router == nil { return nil, net.UnknownNetworkError("unable to bridge") } conn := newConnection(x.RemoteHashname(), a, router, func() { mod.unregisterConnection(router, x.LocalToken()) }) mod.registerConnection(router, x.LocalToken(), conn) return conn, nil }