Как реализовать очередь запросов?

344
24 июня 2017, 11:06

Исходные данные:

Есть проект, который использует методы из SDK стороннего проекта (асинхронные методы для работы с их сервером с параметром-колбэком) и содержит в себе Retrofit2 + OkHttp + Rx для работы с сервером напрямую. Для удобства используются лямбды.

Задача:

Необходимо, чтобы все запросы (и из SDK, и через Retrofit) выполнялись не чаще чем 5 раз в секунду, а если лимит превышен, выполнялись с задержкой.

Вопрос:

Как это реализовать? Первое, что приходит в голову - это Service + BroadcastReceiver. Но придется слушать ресивер в каждом активити/фрагменте, плюс получится не такая удобная реализация колбэков... Может быть можно это как-то реализовать с помощью Rx (в том числе обернув методы SDK), чтобы оставить лямбды для удобства?

READ ALSO
Особенности дебага в Android

Особенности дебага в Android

Происходит отладка Android приложения в IntelliJ IDEA 20171

290
С чего начать изучение Java? [требует правки]

С чего начать изучение Java? [требует правки]

Студент первого курсаИзучаю C#, веб-программирование

297
Вызов класса из другого файла при нажатии на jbutton

Вызов класса из другого файла при нажатии на jbutton

Есть jbutton есть класс, находящийся в другом файле, но в одном package Как сделать выполнение этого класса при нажатии на jbutton?

220