SIGN IN SIGN UP

Create server backends lazily so a failed signaling bind creates no native state

NetherNetServerChannel gains a backend supplier constructor: the backend
(and with it the PeerConnectionFactory pool) is created in doBind only
after the signaling endpoint bound successfully. Previously consumers had
to create the pool before channel construction, so a signaling endpoint
that could not bind, such as a taken TCP port on shared hosting, meant
disposing freshly created factories milliseconds after creation. That
teardown races engine initialization inside libwebrtc and aborts the JVM
with a pure virtual call.

Offers racing a failed bind are dropped safely, doClose tolerates a
backend that never materialized, and NetherNetChannelFactory gains a
supplier overload building the LibWebRtcServerBackend on demand. The
eager constructors are unchanged.
S
SendableMetatype committed
f6c54a65a3bf8a5dcedd024b0be0eee0eb00909b
Parent: 6bf7cad