среда, 27 июля 2016 г.

Оптимизация записи на диск (экспериментально)

FlylinkDC++ при закачке файла с большого кол-ва источников (10-50 ) начинает активно пожирать CPU на ожиданиях в критической секции объекта SharedFileHandle. Это происходит т.к. несколько ниток пытаются писать на диск (файл .dctmp) полученные из сети блоки а т.к. запись синхронная, то пока пишет один поток - другие крутятся в ожидании.
Попробовал перевести эту часть на Memory-Mapped Files - блоки асинхронно сбрасывается на диск не вешая в ожидания соседние потоки.
Просьба активных пользователей протестировать новую бетку (build-19853 или выше ) и отписать о результатах.
Пока эта функция включается автоматически, при условии что размер файла не выше 2 гиг полезный.
График загрузки CPU и ожиданий при закачке тествого файла размером 1.5 гиг 
1. До изменений:














 2. После включения Memory-Mapped Files:


понедельник, 11 июля 2016 г.

FlylinkDC++ и 360 Total Security

Вчера починил ошибку при которой флайлинк всегда при старте писал себя в ветку реестра для перехвата magnet-сылок
HKEY_CURRENT_USER, _T("SOFTWARE\\Classes\\magnet\\shell\\open\\command") 
подобная активность не нравилась некоторым антивирусам:



четверг, 30 июня 2016 г.

OpenSSL - подмораживает запуск клиента

Нашел профайлером скачек нагрузки по CPU на 1-2 сек при старте.
Оказалось, что так "долго" работает генерация RSA.
отложил данную операцию на момент, когда эти ключи понадобятся приложению
( SSL_CTX_set_tmp_rsa_callback ) Теперь программа будет запускаться
немного быстрее.Я не большой знаток криптографии,
но думаю этим изменением ничего не сломал :)

суббота, 23 апреля 2016 г.

FlylinkDC++ r4xx R.I.P.

Поддержка ветки r4xx прекращена













Всем активным пользователям рекомендуется авто-обновиться до r5xx 
(меню-помощь-проверить наличие обновлений)
http://www.flylinkdc.ru/2014/06/flylinkdc-2011-2014.html
Пользователи с очень старыми версиями r2xx r3xx можно воспользоваться новой установкой
все ваши настройки сохранятся и база данных sqlite автоматически конвертируется в новый формат.
http://www.fly-server.ru/install/r5xx/release/

суббота, 2 апреля 2016 г.

Автогенерация ника

Всем привет.
У FlylinkDC++ ~ три месяца назад появилась функция
при которой обрабатывается команда занятости вашего ника на хабе
данная ситуация возможна в нескольких случаях
 - Вы выбрали популярный ник  (Вася, Петя и т.д.)
 - У вас временно "упал" интернет но хаб "помнит" ваш коннект еще минут 10-15
   в зависимости от настроек сервера.
- Вы запустили вторую копию клиента

В этих случае клиент автоматически (3 раза) пытается повторно подключиться
с другим ником вида Nick_Rxxx (где Nick -  базовый ник + xxx - случайное число)
что иногда может приводить к курьезам вроде этого:





воскресенье, 28 февраля 2016 г.

Doctor Dump

Обновился doctor dump 2.0.18
Рекомендую данную библиотеку всем разработчикам приложений на Visual C++

 

суббота, 23 января 2016 г.

Wine + linux + FlylinkDC++

Привет.
На моем нетбуке (xubuntu 15.10) FlylinkDC++ падает при попытке подключиться сразу к нескольким хабам
Кто использует линукс можете повторить на своей системе - у вас аналогично падает, или это моя локальная проблема?
Может кто-то знаете как локализовать место/причину падения?
Последовательность действий:
1. Нажимаем Ctrl + I
2. Выбираем 15-20 хабов и правой мышкой жмем подключиться