Closed sixinyiyu closed 3 years ago
Every pipeline, when linked to (or forked to, merged to, muxed to, demuxed to...), will instantiate a new Session that is totally independent to other sessions from other pipelines. So there's no guarantee as to when, in your case, the B pipeline (or let's say session to be more clear) will close up compared to the main listening session. Sessions close only under one condition: that's when it receives a SessionEnd event from its input. In your example, when the client closes the connection, either actively or passively if pipy shuts it down first, session B gets a SessionEnd too because the main session is forking everthing to it, including the SessionEnd. So when the main session closes, A and B both close. To have a session live longer than the main session, link to it by using merge, mux, demux etc. These filters don't pass SessionEnds to the sessions they create.
Hope that could clarify everything. Feel free to follow up with more questions.
i see, tks!
just little tips: route could support dsl
Version : 0.0.0 Commit : d54c0aaae262756f35ebf8256bd4dae7617b8444 Commit Date : Wed, 9 Jun 2021 13:56:10 +0800 Host : Linux-5.10.18-amd64-desktop x86_64 OpenSSL : OpenSSL 1.1.1g 21 Apr 2020