Move network related internal packages to here
To make webrtc/internal/mux.Mux, transport/vnet.VNet, and transport/test.Bridge compatible with full net.Conn features (including SetDeadline), it would be better to move dtls/internal/net/deadline to this package. Following packages are also better to be moved to here to make package dependencies clean.
- [x]
dtls/internal/net/deadline(net.Conncompatible deadline timer) - [x]
dtls/internal/net/connctx(context cancelableConn) - [x]
udp - [x]
dtls/internal/net/dpipe(datagram like pipe) - [ ]
webrtc/internal/mux(packet multiplexer)
This seems to be related to #168 & #204.
@at-wat Can you provide an update which of the points of this issue are missing? I am willing to work on it :)
I have just migrated pion/udp to this repo 🥳
@stv0g I noticed that in the pion/udp migration, this commit and the corresponding sync package were not migrated -- was that intentional?
Yes, that was intentional as I believe the removed functionality is also part of the standard libraries sync package.
I was also irritated why the functionality was in this module. It does not seem to be networking related.
@stv0g I'm not sure introducing the sync package was the proper fix for https://github.com/pion/udp/issues/74, but it seems as though after migrating pion/udp here we are back to the state in which the data race was observed.
Hi @hasheddan ,
Thanks for the context. I now understand yhe motivation of our custom sync.WaitGroup implementation. I think we can add it back. However I would strongly for adding it into internal/sync. We should also highlight the difference to thevstandard implementation to avoid the same mistake in the future.
@hasheddan I am going to address this in https://github.com/pion/transport/issues/259
I wasn't able to move webrtc/internal/mux out because it imports pion/ice.
Closing this for now!