Game Development Reference
In-Depth Information
Figure 15.1. An illustration of a proxy server setup.
15.3 Productive by Proxy
Our first solution was to set up a Perforce Proxy server, also known as P4P. For
those unfamiliar with P4P, it's a special server provided by Perforce that functions
as a local cache of a remote server. When a user requests a file at a particular
revision, the proxy will first check the cache to see if it has that revision already. If
it does, it will just return the local copy, but if it doesn't, it will route the request
totheremoteserverandcachethefileonceithasbeenretrieved(see Figure15.1 ) .
Under normal circumstances, a proxy server would have solved our problems.
However, we had no central oce; everyone worked from home. This meant that
the proxy server shared by the company had to be located remotely. Furthermore,
while our server had more bandwidth, it still needed to be seeded from the remote
server. Instead of removing the bottleneck, the proxy had just shifted its location
in our pipeline.
It became clear that the proxy server would not save us, so we continued to
search for another solution.
15.4 Here Comes a New Challenger
Since we failed to solve the speed issue, we focused on stability instead. The idea
was to create a program that would start a sync to a specified changelist and then
wait to detect a disconnect. If the sync was interrupted, the program would restart
 
Search WWH ::




Custom Search