signalWithRetry method
接听、拒绝、挂断、结束:rate_limited 的等待不超过 5 秒时自动重试一次。
Implementation
Future<JsonMap> signalWithRetry(String op, String path, JsonMap data) async {
try {
return await signal(op, path, data);
} on DRException catch (err) {
if (err.code == LocalErrorCode.rateLimited && (err.retryAfter ?? 6) <= 5) {
await sleep(core.platform.clock, (err.retryAfter ?? 1) * 1000);
return signal(op, path, data);
}
rethrow;
}
}