मैंने DefaultRetryPolicy में 1500 के रूप में शुरुआती समय के रूप में सेट किया है, लेकिन यह टाइमआउट पर विचार नहीं करता है:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
मैंने अपने डिवाइस पर वाईफाई को समय-समय पर परीक्षण करने के लिए डिस्कनेक्ट कर दिया है और मैंने इन बार लॉगकोट में देखा :
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
यह मुझे 20 सेकंड से अधिक समय लगा, जबकि मुझे उम्मीद थी कि 1.5 सेकंड के बाद या तो ऑनरसेन्स या ऑनर्रर पकड़ सकता है !!!
मेरा मानना है कि बैकऑफ़ के बाद एक रिट्री लॉजिक है। तो अनुरोध भेजा जाता है, 1.5 सेकंड के बाद इसे कई बार बाहर निकाला जाता है और फिर कुछ यादृच्छिक समय के बाद पुन: प्रयास किया जाता है। कुल मिलाकर रिटायर होने वालों की संख्या DefaultRetryPolicy.DEFAULT_MAX_RETRIES है
—
अभिषेक रंजन
अधिकतम मूल्य और backoff_multiplies के लिए आपका मूल्य क्या है?
—
करण खुराना
दोनों के डिफ़ॉल्ट मूल्य हैं। in DefaultRetryPolicy.java:
—
अलिरेज़ा नूराली
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;