The patcher will attempt to use P2P first and will fallback on http if it can't connect. I think the timeout might be 5 minutes but they may have shortened that to 1 minute in later builds. If your patcher gets stuck at some point, it's better to quit it and relaunch as it will recover quicker.