ngx_http_script_module

Valery Kholodkov vkholodkov at yandex.ru
Tue May 8 20:50:06 MSD 2007


>
>Я наверное не совсем в теме. Но что писать? Байткод для VM руками писать что
>ли? Или ты предлагаешь создать свой язык и преобразовывать его в
>байткод этой VM?
>

Не байткод, а промежуточное представление (IR -- intermediate representation), суть которого заключается в том, что его удобно генерировать компиляторам. Языков создавать никто не предлагает, для начала можно написать компилятор сложных конструкций конфига nginx.

Далее, встроив один раз, использовать эту виртуальную машину можно будет разнообразными способами.

Если имеется темплейтный язык, то написав компилятор его в IR, получаем темплейтный движек.

Если имеется императивный язык, то написав компилятор его в IR, получаем хендлер запросов.

А continuation, как я понял, это решение проблемы отсутствия трэдов. А именно, если нет данных от бакэнда/клинта или, наоборот, не места в буферах записи, то виртуальная машина приостанавливается и управление возвращается в event cycle. И так далее, до тех пор, пока весь поток не будет вычитан/записан.

-- 
Best regards,
Valery Kholodkov





More information about the nginx-ru mailing list