When I add a file to an IPFS peer how long does it take before other peers can access that file?

I’m just starting out on my IPFS journey and it’s great to be here. This is one of the most exciting pieces of tech i’ve ever discovered. This question has probably been answered a bunch of times before but here goes.

Let’s say I have peer A and peer B, peer A decides to host somefile and goes through the procedure required to do this. Peer B would like to access this file, what governs the latency between peer A’s hosting and peer B’s ability to see/get the file?

As a side note is this increase if you use the public/secret key signing of hashes to get mutability?

Also, is there any replication functionality built into the current IPFS code? I mean can you configure nodes to seek to replicate certain data from other peers themselves or is that handled in application code?