Написать модуль с аддоном на C++ для Node.js (Electron) для загрузки файлов в S3

Цена договорная
15 января 2022, 20:27 • 3 отклика • 34 просмотра
Написать модуль с аддоном на C++ для Node.js (Electron) для загрузки файлов в S3
У нас есть приложение на Node.js (Electron). Приложение умеет загружать файлы в облако (S3-совместимое хранилище). Столкнулись с тем, что Node делает это недостаточно быстро и в сравнении с аналогами (CyberDuck, WinSCP) загрузка идёт дольше и менее стабильно.
Для оптимизации этого процесса, нам нужен аддон для Node на нативном C++. Далее, мы самостоятельно интегрируем его в наш код Electron.
Аддон должен быть упакован в модуль, чтобы мы могли его безболезненно установить как обычную зависимость NPM. Модуль должен быть выполнен в виде класса и у него должны быть следующие методы:

При создании нового инстанса класса, модуль должен получить объект настроек S3 (Сервер, секретный ключ, ключ доступа, регион, баккет для загрузки, корневая директория на S3 для загрузки, количество параллельных загрузок)
Асинхронный метод загрузки файлов на S3 (нужно передать список файлов массивом)
Возможность добавить коллбек или подписаться на событие о статусе загрузке (сколько файлов загружено)
Возможность добавить коллбек или подписаться на событие окончания загрузки
Возможность добавить коллбек или подписаться на событие ошибки при загрузки
Сама загрузка должна происходить не последовательно, а параллельно. Количество параллельных загрузок можно регулировать через конструктор или через отдельный сеттер.

Сложно оценить трудозатраты - жду предложений от вас. Спасибо.