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