transport icon indicating copy to clipboard operation
transport copied to clipboard

Move network related internal packages to here

Open at-wat opened this issue 6 years ago • 7 comments

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.Conn compatible deadline timer)
  • [x] dtls/internal/net/connctx (context cancelable Conn)
  • [x] udp
  • [x] dtls/internal/net/dpipe (datagram like pipe)
  • [ ] webrtc/internal/mux (packet multiplexer)

at-wat avatar Mar 03 '20 09:03 at-wat

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 :)

stv0g avatar Nov 15 '22 13:11 stv0g

I have just migrated pion/udp to this repo 🥳

stv0g avatar Apr 12 '23 16:04 stv0g

@stv0g I noticed that in the pion/udp migration, this commit and the corresponding sync package were not migrated -- was that intentional?

hasheddan avatar Aug 27 '23 00:08 hasheddan

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 avatar Aug 27 '23 11:08 stv0g

@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.

hasheddan avatar Aug 27 '23 12:08 hasheddan

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.

stv0g avatar Aug 27 '23 12:08 stv0g

@hasheddan I am going to address this in https://github.com/pion/transport/issues/259

stv0g avatar Aug 27 '23 12:08 stv0g

I wasn't able to move webrtc/internal/mux out because it imports pion/ice.

Closing this for now!

Sean-Der avatar Aug 16 '24 20:08 Sean-Der