to post messages and comments.

← All posts tagged ADC

То чувство, когда общаешься с заказчиком по ГрейЛинку. В частности, чат там явно получше, чем эта навороченная тормозящая штука на ангуляре с вечно отваливающимися и не заваливающимися обратно вебсокетами, из-за которых надо обновлять страницу фриланса, чтоб увидеть, появился ли ответ, в общем, получше по сравнению с тем, что такое обычное в вебе.

Сконвертил свою p2p шару в формат торрента по спецификации BEP 47.

В оригинале (.xml.bz2) 3,1Мб, распакованный XML 12 Мб, а в формате торрента получилось 16 Мб. Он, конечно, двоичный, в отличие от распакованного XML, и каждый TTH там 24мя байтами кодируется, а не 39ю в Base32, но это с лихвой компенсировалось тем, что в описании каждого файла участвует info.files.path, повторяющий названия верхних директорий несколько тысяч раз, в то время как в XML тег Directory указывает имя директории только один раз. Я поискал и сходу не вижу такой BEP, чтобы можно было как-то вложить info в info. Это бы решило проблему, но увы.

Так же, как и для dcls, для торрентов можно генерить один большой файл, а в нём запоминать смещения (в списке info.files), чтобы потом склеивать на лету. Правда, это дурацкое устройство info.files.path и здесь не даёт возможности сделать всё нормально. Название директории, которую описывает торрент, задаётся в info.name. А элементы списка info.files.path идут уже внутри info.name. Так что если нам захотелось в торренте для вложенной папки установить info.name в имя этой папки, у нас получится такая картина, что в нём сначала папка с именем желаемой папки, потом внутри неё несколько взаимовложенных папок с именами папок от корня шары, потом снова эта папка, и там уже собственно файлы. Если генерить отдельные торренты для каждой директории, 16Мб распухнут пусть не в семь (как для dcls), но едва ли меньше, чем в два раза. Общий info.name в каждом торренте в принципе, был бы наиболее логичен, если рассматривать их по отдельности, но если их у одного человека становится несколько и все одинаково названы, тоже как-то не здорово. Решил сделать компромиссный вариант: в info.name не само имя папки, а конкатенация имени папки с именем корня (в качестве которого у меня выступает CID). Всё же хочется иметь возможность забить хостинг как можно большим количеством скачанных шар.

Конечно, не удержался от того, чтобы ковырнуть торрент µTorrent'ом. Пишет «Невозможно загрузить 'root.torrent'. Недостаточно памяти для обработки команды. !». Мда, печально это. p2p-клиенты и не такими объёмами ворочают.