In all of this post I may make mistakes and hopefully people will correct me real quick if I do.
From a discussion with David private data has to be uploaded again in order to publish it (Make Public).
The purpose of the function is to allow someone to upload/edit private files and when the files are ready for publishing or being made public the user can issue a request to make the file(s) pubic (ie publish)
I would expect the function sends requests to the vaults to take the chunk and write it to the network with the chunk’s public address. The client then iterates through the chunks requesting them to be “published”.
Obviously the user pays for each chunk as if they uploaded it.
Reason for the request. Many users use phones for everything and their upload quota/bandwidth/battery is usually limited, So the purpose is to allow users to upload once the initial file privately, then work on it until ready for going public and not be required to download and upload the file publicly.
This will save on unnecessary bandwidth usage in the process of downloading each chunk and the bandwidth to upload. The bandwidth will be in going from the vault holding the chunk to the vault that will be holding the public chunk. Much less overall bandwidth usage by the network and the user - win/win.