Plasma GitLab Archive
Projects Blog Knowledge

Class type Nethttpd_engine.http_engine_config

class type http_engine_config = object .. end
method config_input_flow_control : bool
If true, the engine stops reading input tokens from the HTTP kernel when there is data in the input channel of the engine not yet read. If false, all available input tokens are fetched from the kernel and buffered up in the input channel.

In general, this should be set to true. However, this is only possible when the user of the engine is prepared for flow control. In particular, all data contained in the input channel must be immediately read, or else the engine blocks. By calling input_ch_async # request_notification, the user can be notified when there is data to read.

When set to false, the engine never blocks, but the price is that the input channel may become as large as needed to store the whole request.

The option config_limit_pipeline_size does not have any effect for engines.

method config_output_flow_control : bool
If true, the engine signals the user when there is already enough data to output, and no more output should be generated. The user can query this state by calling output_ch_async # can_output, and react accordingly. The user can also ignore this signal, and the output channel buffers all data.

If false, the mentioned method can_output returns always true. This turns off flow control in the case it is implemented by the user of the engine, but actually not wanted.

The internal processing of data is not affected by this configuration option. In doubt, set it to true.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml