Open JustAGod1 opened 5 years ago
Спасибо за фидбек!
Утечка памяти вот тут. На сколько я понял суть в эти блоки суются загруженные куски которые затем, после валидации, сохраняются в PieceConsumer, а после просто там хранятся. Это весьма критично когда клиент весит 3гб.
Я не вижу здесь утечки памяти. PieceConsumer регулярно забирает готовые блоки из своей внутренней очереди здесь.
Порт маппинг "из коробки" не работает. Может я дурак чего не понял, может не на всех устройствах поддерживается, но простое добавление модуля не помогло. Я использовал эту библиотеку и она решила проблему.
Это печально. bt-upnp поддерживает только механизм UPnP посредством либы https://github.com/4thline/cling. В вашем случае, видимо, роутер/прошивка используют другой механизм, например, NAT-PMP. Библиотека, на которую вы дали ссылку, судя по описанию лучше той, которая используется сейчас, так что имеет смысл на нее перейти. Надо создать задачу.
Избирательная загрузка удручает. Если у меня в директории уже был файл больший по размеру, нежели чем я хочу загрузить, перепишется только та часть которая совпадает по размеру с новым, а остальное просто останется без изменений.
Я честно так и не понял почему вы не захотели учитывать анонс интервал, который возвращает трекер. Для нас такой подход более удобен, чем указание анонс интервала в конфиге.
Надо создать задачи на доработку.
Почему вы не захотели учитывать файлы которые уже присутствуют на диске? Весьма сомнительная полезность торрента без этой фичи.
В каком смысле учитывать?
Было б здорово иметь ограничение скорости загрузки/отдачи. Это то без чего не получится использовать эту библиотеку конечным пользователем.
Обсуждается здесь: https://github.com/atomashpolskiy/bt/issues/22
Я не вижу здесь утечки памяти. PieceConsumer регулярно забирает готовые блоки из своей внутренней очереди здесь.
В определенные моменты в очереди накапливаются довольно большие куски. Так или иначе я не вижу смысла там хранить блоки так как в дальнейшем они совсем не используются.
В каком смысле учитывать?
В смысле понимать, что они есть и сообщать об этом другим пирам. Если такое уже есть, тыкните носом пожалуйста, а то я так и не нашел.
В определенные моменты в очереди накапливаются довольно большие куски. Так или иначе я не вижу смысла там хранить блоки так как в дальнейшем они совсем не используются.
Согласен, кажется, что там будет достаточно номеров верифицированных блоков.
В смысле понимать, что они есть и сообщать об этом другим пирам. Если такое уже есть, тыкните носом пожалуйста, а то я так и не нашел.
При запуске торрента содержимое каталога загрузки проверяется для построения битфилда, здесь: https://github.com/atomashpolskiy/bt/blob/master/bt-core/src/main/java/bt/data/DefaultDataDescriptor.java#L125
При запуске торрента содержимое каталога загрузки проверяется для построения битфилда, здесь: https://github.com/atomashpolskiy/bt/blob/master/bt-core/src/main/java/bt/data/DefaultDataDescriptor.java#L125
Хм, действительно. Я как то умудрился пропустить этот момент.
Я тут хочу добавить про порт маппинг Все неплохо работает на статических айпишниках, но все плохо на динамичных. Сколько я не тыкался, я не смог найти нормальных вариантов замапить порт через 2 IGD. Так что можно вычеркнуть эту проблему.
Извиняюсь что на русском, но на английском вряд ли выйдет общение. Суть в том что я использовал вашу библиотеку для создания лаунчера с целью экономии трафика. Либа в целом неплохая, быстрая и относительно удобная, но есть несколько проблем. Может конечно я чего то не понял, но лучше перечислю в порядке убывания критичности
Из ошибок(in my humble opinion) все. Дальше идут непонятки и предложения
На этом все, извините, если это я опять что то не так понял.