Очереди транзакций
Вы можете использовать очередь транзакций для связи с дочерним процессом с использованием транзакций. Сначала используйте tq-create, чтобы создать очередь транзакций, связывающуюся с указанным процессом. Затем вы можете вызвать tq-enqueue, чтобы отправить транзакцию.
- Функция: tq-create процесс
Эта функция создает и возвращает очередь транзакций, связывающуюся с процессом. Аргумент процесс должен быть дочерним процессом, способным отправлять и получать потоки байтов. Это может быть дочерний процесс или TCP-соединение с сервером, возможно, на другом компьютере.
- Функция: tq-enqueue очередь вопрос regexp замыкание функция &опционально задержка-вопрос
-
Эта функция отправляет транзакцию в очередь очередь. Указание очереди означает указание дочернего процесса, с которым нужно связаться.
Аргумент вопрос — исходящее сообщение, которое запускает транзакцию. Аргумент функция — функция, которая вызывается, когда возвращается соответствующий ответ; она вызывается с двумя аргументами: замыкание и полученным ответом.
Аргумент regexp — регулярное выражение, которое должно соответствовать тексту в конце всего ответа, но ничему до него; именно так
tq-enqueueопределяет, где заканчивается ответ.Если аргумент задержка-вопрос не
nil, отправить этот вопрос до тех пор, пока процесс не завершит ответ на предыдущие вопросы. Это дает более надежные результаты с некоторыми процессами.
- Функция: tq-close очередь
Закрыть очередь транзакций очередь, дождаться завершения всех ожидающих транзакций, а затем завершить подключение или дочерний процесс.
Очереди транзакций реализуются с помощью функции фильтра. См. Функции фильтра.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Transaction-Queues.html