- Rename
app/network => app/appnet
- Add
appnet.RouterNetworker as described:
So (appnet.RouterNetworker).Dial() functions will call (router.Router).DialRoutes(). The opts *DialOptions will be provided, internally by RouterNetworker
In RouterNetworker, we need a Serve() function that calls Router.AcceptRoutes() in a loop.
RouterNetworker will also need netutil.Porter: https://github.com/skycoin/dmsg/blob/mainnet-milestone2/netutil/porter.go
To assign ephemeral ports when dialing.
And reserve ports when Listening.
If we aren't listening on the local port specified in a receivedRouteGroup, close it immediately.
We also need to implement a net.Listener
app/network=>app/appnetappnet.RouterNetworkeras described:So (appnet.RouterNetworker).Dial() functions will call (router.Router).DialRoutes(). The opts *DialOptions will be provided, internally by RouterNetworker
In RouterNetworker, we need a Serve() function that calls Router.AcceptRoutes() in a loop.
RouterNetworker will also need netutil.Porter: https://github.com/skycoin/dmsg/blob/mainnet-milestone2/netutil/porter.go
To assign ephemeral ports when dialing.
And reserve ports when Listening.
If we aren't listening on the local port specified in a receivedRouteGroup, close it immediately.
We also need to implement a net.Listener