ooni / minivpn

A minimalistic OpenVPN implementation in Go
GNU General Public License v3.0
38 stars 6 forks source link

refactor: introduce the packetmuxer layer #49

Closed ainghazal closed 8 months ago

ainghazal commented 9 months ago

This is the second commit in the series of incremental refactoring of the current minivpn tree.

In this commit, we introduce the packet muxer, which is the layer just above the networkio. The packet muxer handles and routes data or control packets, and it also handles reset packets.

As dependencies for packetmuxer, we're also introducing the optional and session packages.

Reference issue: #47