Proksi B, proksi B lagi, kemudian proksi A. Log anda kelihatan mencurigakan, tetapi pemilih rawak dibenarkan berbuat demikian.

Memilih daripada senarai yang sama pada setiap permintaan membenarkan pengulangan. Dengan dua titik akhir yang sama kemungkinan, pemilihan bebas seterusnya mempunyai peluang satu dalam dua untuk sepadan dengan yang sebelumnya. Urutan pendek yang mengandungi pengulangan bukan bukti bahawa pemilih mengabaikan senarai itu.

Pilih tingkah laku yang anda benar-benar perlukan

KeperluanPeraturan pemilihan
Setiap pilihan adalah bebasPilih daripada senarai yang layak setiap kali
Gunakan setiap titik akhir sekali sebelum bermula semulaKocok salinan, habiskan, kemudian mulakan hantaran lain
Elakkan titik akhir sebelumnya secara langsungKecualikan titik akhir itu sebelum memilih

Untuk dasar terakhir, tangani kes satu titik akhir secara jelas:

candidates = [endpoint for endpoint in eligible if endpoint != previous]
if not candidates:
    raise RuntimeError("No different eligible proxy is available")
selected = random.choice(candidates)

Serpihan ini menganggap random telah diimport dan senarai titik akhir sudah disahkan. Kolam awam boleh bermula dengan senarai proksi percuma apabila protokolnya sepadan dengan klien akhir; peraturan pemilihan ini masih mengawal pengulangan. Sama ada menunggu, menggunakan semula satu-satunya titik akhir atau berhenti ialah dasar aplikasi. Gelung tanpa henti yang menunggu nilai rawak berbeza tidak dapat menyelesaikan senarai yang hanya mengandungi satu pilihan berbeza.

Dalam penghantar serentak, memilih dan merekod titik akhir sebelumnya juga memerlukan pemilikan yang diselaraskan. Jika tidak, dua pekerja boleh kedua-duanya mengecualikan nilai lama dan memilih nilai seterusnya yang sama.

Akhirnya, peraturan ini berkaitan identiti titik akhir. Dua titik akhir berbeza boleh membawa kepada satu jalan keluar awam, dan satu titik akhir penyedia boleh membawa kepada beberapa jalan keluar. Rekodkan secara berasingan sebelum memutuskan putaran itu rosak.

Artikel berkaitan