Я никогда не разрабатывал программное обеспечение, следуя подходу реактивного программирования, я не знаю много об этом ... но я знаю, что это парадигма программирования, поэтому она определяет, как вы должны писать исходный код, как у вас есть структурировать его и т. д.
С моей точки зрения, RxJava не будет рассматриваться в качестве фреймворка в том смысле, что вы используете технологию для взаимодействия с участниками, живущими вне вашего приложения. RxJava будет расширением языка программирования (Java), у которого нет шансов написать реактивный код с ним.
Так что я не вижу проблем с использованием RxJava для написания исходного кода шестиугольника.
Используя текущее значение открыть
/ читать В паре
возможна только одна другая временная точка - между ними.
Вызов open ()
должен отвечать за фактическую отправку HTTP-запроса и должен (AFAIK) возвращаться, как только это произойдет. был отправлен, готовый к тому, что ваше приложение действительно прочитало ответ через read ()
.
Технически это, вероятно, тот случай, когда длинный ответ сервера сделает ваш блок приложения при вызове read ()
, в этом случае это не TTFB.
Однако, если объем данных невелик, тогда выиграет ' В любом случае, между TTFB и TTLB не будет большой разницы. Для большого объема данных просто измерьте, сколько времени потребуется read ()
, чтобы вернуть первый наименьший возможный фрагмент.
По умолчанию реализация открытия HTTP в urllib2 не имеет обратных вызовов при выполнении чтения. Средство открытия OOTB для протокола HTTP - urllib2.HTTPHandler
, которое использует httplib.HTTPResponse
для фактического чтения через сокет.
Теоретически, вы можете написать свои собственные подклассы HTTPResponse и HTTPHandler, и установите его как средство открытия по умолчанию в urllib2, используя install_opener . Это было бы нетривиально, но не мучительно, так что если вы в основном копируете и вставляете текущую реализацию HTTPResponse из стандартной библиотеки и настраиваете там метод begin ()
, чтобы выполнить некоторую обработку или обратный вызов при чтении из начинается сокет.