@@ -50,7 +50,7 @@ private UCRet queryRegionInfoFromServerIfNeeded(RegionIndex index) throws QiniuE
50
50
return ret ;
51
51
}
52
52
53
- String address = ucServer + "/v4 /query?ak=" + index .accessKey + "&bucket=" + index .bucket ;
53
+ String address = ucServer + "/v3 /query?ak=" + index .accessKey + "&bucket=" + index .bucket ;
54
54
Response r = client .get (address );
55
55
ret = r .jsonToObject (UCRet .class );
56
56
if (ret != null ) {
@@ -66,7 +66,7 @@ static Region regionGroup(UCRet ret) {
66
66
}
67
67
68
68
RegionGroup group = new RegionGroup ();
69
- for (HostRet host : ret .hosts ) {
69
+ for (ServerRets host : ret .hosts ) {
70
70
Region region = host .createRegion ();
71
71
group .addRegion (region );
72
72
}
@@ -267,41 +267,35 @@ private class UCRet {
267
267
// 有效期, 单位秒
268
268
long deadline ;
269
269
270
- HostRet [] hosts ;
271
-
272
- HostRet universal ;
270
+ ServerRets [] hosts ;
273
271
274
272
private boolean isValid () {
275
273
return System .currentTimeMillis () < deadline * 1000 ;
276
274
}
277
275
278
276
private void setupDeadline () {
279
- long ttl = 60 ;
280
-
281
- HostRet ret = universal ;
282
- if (ret == null && hosts != null && hosts .length > 0 ) {
283
- ret = hosts [0 ];
284
- }
285
-
286
- if (ret != null ) {
287
- ttl = ret .ttl ;
277
+ long ttl = (1L << 31 ) - 1 ;
278
+ if (hosts != null && hosts .length > 0 ) {
279
+ for (ServerRets hostRet : hosts ) {
280
+ if (hostRet != null && hostRet .ttl < ttl ) {
281
+ ttl = hostRet .ttl ;
282
+ }
283
+ }
288
284
}
289
285
deadline = System .currentTimeMillis () / 1000 + ttl ;
290
286
}
291
287
}
292
288
293
- private class HostRet {
289
+ private class ServerRets {
294
290
long ttl ;
295
291
296
- String [] support_apis ;
297
-
298
292
String region ;
299
- HostInfoRet up ;
300
- HostInfoRet rs ;
301
- HostInfoRet rsf ;
302
- HostInfoRet uc ;
303
- HostInfoRet api ;
304
- HostInfoRet io ;
293
+ ServerRet up ;
294
+ ServerRet rs ;
295
+ ServerRet rsf ;
296
+ ServerRet uc ;
297
+ ServerRet api ;
298
+ ServerRet io ;
305
299
306
300
Region createRegion () {
307
301
long timestamp = ttl + System .currentTimeMillis () / 1000 ;
@@ -347,37 +341,61 @@ Region createRegion() {
347
341
}
348
342
}
349
343
350
- private class HostInfoRet {
351
- List < String > domains ;
352
- List < String > old ;
344
+ private class ServerRet {
345
+ HostInfoRet src ;
346
+ HostInfoRet acc ;
353
347
354
348
private String getOneHost () {
355
- if (domains != null && domains .size () > 0 ) {
356
- return domains .get (0 );
357
- } else {
358
- return null ;
349
+ String host = null ;
350
+ if (src != null ) {
351
+ host = src .getOneHost ();
352
+ }
353
+
354
+ if (host == null && acc != null ) {
355
+ host = acc .getOneHost ();
359
356
}
357
+ return host ;
360
358
}
361
359
362
360
private List <String > allSrcHosts () {
363
- List <String > hosts = new ArrayList <>();
364
- if (domains != null && domains .size () > 1 ) {
365
- for (int i = 1 ; i < domains .size (); i ++) {
366
- hosts .add (domains .get (i ));
367
- }
361
+ if (src != null ) {
362
+ return src .allHosts ();
368
363
} else {
369
364
return new ArrayList <>();
370
365
}
371
- return hosts ;
372
366
}
373
367
374
368
private List <String > allAccHosts () {
375
- List <String > hosts = new ArrayList <>();
376
- if (domains != null && domains .size () > 0 ) {
377
- hosts .add (domains .get (0 ));
369
+ if (acc != null ) {
370
+ return acc .allHosts ();
378
371
} else {
379
372
return new ArrayList <>();
380
373
}
374
+ }
375
+ }
376
+
377
+ private class HostInfoRet {
378
+ List <String > main ;
379
+ List <String > backup ;
380
+
381
+ private String getOneHost () {
382
+ if (main != null && main .size () > 0 ) {
383
+ return main .get (0 );
384
+ } else if (backup != null && backup .size () > 0 ) {
385
+ return backup .get (0 );
386
+ } else {
387
+ return null ;
388
+ }
389
+ }
390
+
391
+ private List <String > allHosts () {
392
+ List <String > hosts = new ArrayList <>();
393
+ if (main != null && main .size () > 0 ) {
394
+ hosts .addAll (main );
395
+ }
396
+ if (backup != null && backup .size () > 0 ) {
397
+ hosts .addAll (backup );
398
+ }
381
399
return hosts ;
382
400
}
383
401
}
0 commit comments