Вопросы по теме 'libuv'

Node.js Internals: Как я могу узнать, где определяется `process.binding('eval')`?
Как я могу узнать, где в исходном коде C++ node.js определяется объект JavaScript, к которому я могу получить доступ через process.binding('eval') ? - Я уже выяснил, что в этом особом случае он находится в /src/node_script.cc , но: Как я могу...
2118 просмотров
schedule 08.09.2023

Вызов функции Javascript из обратного вызова C++ в V8
Я пытаюсь вызвать зарегистрированную функцию JS, когда вызывается обратный вызов С++, но я получаю segfault из-за того, что, как я полагаю, является проблемой области видимости. Handle<Value> addEventListener( const Arguments& args ) {...
8669 просмотров
schedule 25.12.2022

Как работает режим UV_RUN_NOWAIT в libuv?
При запуске цикла событий в libuv с использованием функции uv_run есть параметр «режим», который используется со следующими значениями: UV_RUN_DEFAULT UV_RUN_ONCE UV_RUN_NOWAIT Первые два очевидны. UV_RUN_DEFAULT запускает цикл событий...
5442 просмотров
schedule 13.05.2023

libuv использует внутреннюю блокировку вызовов файловой системы — почему? Как?
Я только что узнал, что жемчужина Node.js libuv использует систему блокировки вызывает файловые операции . Асинхронное поведение реализовано с помощью потоков! В связи с этим возникает два вопроса (меня только волнует Unix): Почему он...
1533 просмотров
schedule 06.08.2022

Как создать объект V8 в другом потоке, а затем скопировать его обратно в область nodejs?
Мне нужно разобрать очень длинный текст JSON в объект JSON. Я попытался измерить время выполнения с помощью следующего кода. var t = process.hrtime() JSON.parse(jsonStr); t = process.hrtime(t); Это занимает около 0,5 миллисекунды, что...
283 просмотров
schedule 07.11.2022

Правильное закрытие libUV
Я пытаюсь выяснить, как исправить эти утечки памяти, которые я получаю при запуске этой программы с Valgrind. Утечки происходят с двумя распределениями в nShell_client_main . Но я не уверен, как правильно их освободить. Я пытался освободить их в...
8933 просмотров
schedule 03.07.2022

Как можно использовать libuv и POLLPRI вместе?
Я пишу приложения для API, определенного как символьные устройства Linux, с большинством интересных частей API, определенных как вызовы ioctl(), где асинхронные события передаются приложению, когда драйверы вызывают POLLPRI через poll(). Я хотел бы...
218 просмотров
schedule 04.05.2024

libuv — цикл событий и потоки
Я понимаю, что цикл событий работает на одном процессе (таким образом, на одном ядре), но я хотел бы знать, что происходит, когда я запускаю оттуда потоки. Если я запущу несколько потоков с помощью uv_thread_create или uv_queue_work , будут ли...
2304 просмотров
schedule 17.09.2022

методы повторного использования выделенных буферов памяти libuv
я использую libuv для своего приложения с широким сетевым взаимодействием, и меня беспокоит, какое методы повторного использования выделенной памяти будут в то же время эффективными и безопасными с отсрочкой выполнения обратного вызова libuv. На...
5678 просмотров
schedule 09.05.2023

LIBUV: проблема SO_REUSEPORT в Linux
У меня есть UDP-сервер в C на основе libuv , у нас есть: Основной поток : получает пакет UDP, ставит его в очередь в одну из 4 очередей и вызывает обратный вызов для удаления из очереди одному из 4 рабочих процессов. Основной поток bind() на...
379 просмотров
schedule 05.10.2022

Гарантировано ли, что асинхронные запросы, сделанные в цикле, будут поставлены в очередь в порядке выполнения цикла?
Если я выполняю несколько асинхронных http-запросов в цикле for, является ли порядок добавления этих сокетов в цикл событий детерминированным/гарантированным в порядке выполнения цикла? function makeRequest(n) {...
44 просмотров
schedule 04.01.2023

Какую роль играет движок V8 в Node.js?
В последние дни я пытался понять, как стиль на основе событий Node.js может обрабатывать гораздо больше одновременных запросов, чем классический подход многопоточности. В конце концов, речь идет о меньшем объеме памяти и переключениях контекста,...
981 просмотров
schedule 26.11.2022

Правильно ли я понимаю libuv threadpool в node.js?
Я написал следующую программу node.js (версия узла 6.2.0 в Ubuntu 14.04), чтобы больше узнать о пуле потоков libuv в node.js. В программе я читаю два текстовых файла размером 10 КБ. После того, как файлы успешно прочитаны, я выполняю некоторую...
211 просмотров
schedule 01.06.2023

libuv безуспешно пытается сделать простой регистратор libuv
попробуйте создать регистратор изнутри сервера libuv (простой), следуя примерам, которые я едва нашел в сети, мне удается писать в файл, но когда я пытаюсь записать в журнал из другого места в коде, я получаю исключение. вот что у меня есть:...
216 просмотров
schedule 04.07.2022

libuv и uv_buf_init: кто что должен освобождать?
Рассмотрим официальную документацию для libuv (раздел разные утилиты ). Это объявление uv_buf_init : uv_buf_t uv_buf_init(char* base, unsigned int len) В документации говорится, что (выделено мной): Конструктор для uv_buf_t....
1921 просмотров
schedule 25.02.2023

Каковы способы работы с unix fifos с помощью libuv?
У меня есть приложение, которое по каким-то сложным причинам может общаться только с использованием unix fifos (тех, которые созданы через mkfifo ) Как правило, я работаю с ним как с обычным файлом, но, если возможно, я хотел бы иметь возможность...
120 просмотров
schedule 11.08.2022

Обработка цикла событий для sd-bus в libuv
У нас есть цикл событий из libuv для обработки unixsockets и TCP-сокетов. Теперь программа также должна обрабатывать DBus, и мы решили использовать для этого sd-bus . Леннарт написал в своем блоге : Note that our APIs, including sd-bus,...
1931 просмотров
schedule 16.01.2023

как разорвать длинную цепочку обратного вызова в libuv
Предположим, что мы получаем данные из TCP-сокета и обрабатываем их шаг за шагом, чтобы получить результат . Каждый шаг реализован как функция, которая задает параметр из предыдущего и возвращает результат следующему. Мы объединяем все эти...
125 просмотров
schedule 17.04.2024

NodeJS - является ли libuv threadpool глобальным или отдельным процессом?
Скажем, у меня есть машина, на которой запущено 5 разных процессов nodejs. У каждого процесса узла есть собственный пул потоков libuv или все они совместно используют глобальный пул потоков? Я запутался, потому что я бы предположил, что пул...
297 просмотров

Связывание с libuv
Я хотел попробовать использовать libuv в dlang. Я загрузил привязки dlang следующим образом: git clone [email protected]:tamediadigital/libuv.git Теперь, что мне делать дальше, чтобы запустить мой «hello world»? Я пробовал это: ldc2...
462 просмотров
schedule 24.03.2023