PR 5G-MAG/rt-libflute#57 implements a new version of the Transmitter::deactivate() method which can take a boolean which indicates if the library should finish sending all requested files before deactivating the stream output. This replicates some logic used by the MBSTF when it deactivates a Distribution Session.
Investigate if this new interface can be used to deactivate the FLUTE session instead of replicating the wait code in the MBSTF, and if so refactor the code to use this new library interface. This may not be possible if the MBSTF is relying on knowing that the FLUTE session has completed sending files before progressing the Distribution Session state machine in an asynchronous manner.
After PR#57 is merged, the current version of the MBSTF will still continue to work with the completed callback and checking the number_of_files() method of waiting for the FLUTE session to drain. So this is not an urgent issue.
PR 5G-MAG/rt-libflute#57 implements a new version of the
Transmitter::deactivate()method which can take a boolean which indicates if the library should finish sending all requested files before deactivating the stream output. This replicates some logic used by the MBSTF when it deactivates a Distribution Session.Investigate if this new interface can be used to deactivate the FLUTE session instead of replicating the wait code in the MBSTF, and if so refactor the code to use this new library interface. This may not be possible if the MBSTF is relying on knowing that the FLUTE session has completed sending files before progressing the Distribution Session state machine in an asynchronous manner.
After PR#57 is merged, the current version of the MBSTF will still continue to work with the completed callback and checking the
number_of_files()method of waiting for the FLUTE session to drain. So this is not an urgent issue.