Thanks for the questions...... I think I should be able to make this a little clearer.

endpoints will be 1 or 2 in size (for the foreseeable future at least). and random_endpoint, picks a random endpoint that isn't the current one.... which is basically the alternative_endpoint or something like that. 

Let me see if I can clear that up a little. I'm kinda trying to do two things with that method (randomizing the first endpoint, and choosing an alternative endpoint when a failure happens).