Я отправляю идентификаторы объектов взад и вперед от клиента к серверу через механизм RPC GWT. Иды выходят из хранилища данных как Longs (8 байтов). Я думаю, что для всех моих идентификаторов потребуется всего 4 байта, но что-то случайное могло бы, что дает мне 5-байтовое (или другое) значение.Выполняет ли GWT сериализацию java.lang.Longs эффективно?
Является ли GWT умным об упаковке этих значений в некоторой кодировке переменной длины, которая экономит место в среднем? Могу ли я указать, что он делает это где-то? Или я должен написать свой собственный код, чтобы скопировать Longs в ints и следить за этими исключительными ситуациями?
Благодаря ~
Уверены ли вы? Не могли бы вы предоставить ссылку на документацию или где-нибудь еще, где это указано? Gzipping полезной нагрузки обычно является работой HTTP-сервера, а не приложения. –
Я не уверен, что он документирован где угодно, но исходный код не лжет. Внутренняя работа RemoteServiceServlet удивительно проста в том, чтобы следовать, так как грандиозный тур начинается с processPost, но здесь важна запись writeResponse (а также RPCServletUtils.writeResponse). Все это делается по протоколу HTTP, устанавливая заголовок кодировки содержимого, поэтому разуборка обрабатывается автоматически браузером. – dslh
@hambend: Это интересно, потому что JS работает довольно медленно, когда вы делаете такие вещи, как кодирование/сжатие и т. Д. (Зависит от браузера). Я полагаю, это может быть проблемой при обработке больших запросов (скажем, 100 кБ). Я не пробовал gzipping на стороне клиента, но я сделал некоторые эксперименты с RC4-шифрованием, а IE очень медленно запускает предупреждения о сценариях. Так есть ли возможность отключить gzipping? –