Welcome! Log In Create A New Profile

Advanced

[nginx] Stream: added preconfiguration step.

Vladimir Homutov
July 04, 2016 10:52AM
details: http://hg.nginx.org/nginx/rev/2f41d383c9c7
branches:
changeset: 6606:2f41d383c9c7
user: Vladimir Homutov <vl@nginx.com>
date: Wed Jun 15 15:10:24 2016 +0300
description:
Stream: added preconfiguration step.

diffstat:

src/stream/ngx_stream.c | 19 +++++++++++++++++--
src/stream/ngx_stream.h | 1 +
src/stream/ngx_stream_access_module.c | 1 +
src/stream/ngx_stream_core_module.c | 1 +
src/stream/ngx_stream_limit_conn_module.c | 1 +
src/stream/ngx_stream_proxy_module.c | 1 +
src/stream/ngx_stream_ssl_module.c | 1 +
src/stream/ngx_stream_upstream.c | 1 +
src/stream/ngx_stream_upstream_hash_module.c | 1 +
src/stream/ngx_stream_upstream_least_conn_module.c | 1 +
src/stream/ngx_stream_upstream_zone_module.c | 1 +
11 files changed, 27 insertions(+), 2 deletions(-)

diffs (142 lines):

diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream.c
--- a/src/stream/ngx_stream.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream.c Wed Jun 15 15:10:24 2016 +0300
@@ -143,11 +143,26 @@ ngx_stream_block(ngx_conf_t *cf, ngx_com
}


- /* parse inside the stream{} block */
-
pcf = *cf;
cf->ctx = ctx;

+ for (m = 0; cf->cycle->modules[m]; m++) {
+ if (cf->cycle->modules[m]->type != NGX_STREAM_MODULE) {
+ continue;
+ }
+
+ module = cf->cycle->modules[m]->ctx;
+
+ if (module->preconfiguration) {
+ if (module->preconfiguration(cf) != NGX_OK) {
+ return NGX_CONF_ERROR;
+ }
+ }
+ }
+
+
+ /* parse inside the stream{} block */
+
cf->module_type = NGX_STREAM_MODULE;
cf->cmd_type = NGX_STREAM_MAIN_CONF;
rv = ngx_conf_parse(cf, NULL);
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream.h
--- a/src/stream/ngx_stream.h Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream.h Wed Jun 15 15:10:24 2016 +0300
@@ -145,6 +145,7 @@ struct ngx_stream_session_s {


typedef struct {
+ ngx_int_t (*preconfiguration)(ngx_conf_t *cf);
ngx_int_t (*postconfiguration)(ngx_conf_t *cf);

void *(*create_main_conf)(ngx_conf_t *cf);
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_access_module.c
--- a/src/stream/ngx_stream_access_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_access_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -88,6 +88,7 @@ static ngx_command_t ngx_stream_access_


static ngx_stream_module_t ngx_stream_access_module_ctx = {
+ NULL, /* preconfiguration */
ngx_stream_access_init, /* postconfiguration */

NULL, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_core_module.c
--- a/src/stream/ngx_stream_core_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_core_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -57,6 +57,7 @@ static ngx_command_t ngx_stream_core_co


static ngx_stream_module_t ngx_stream_core_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

ngx_stream_core_create_main_conf, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_limit_conn_module.c
--- a/src/stream/ngx_stream_limit_conn_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_limit_conn_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -93,6 +93,7 @@ static ngx_command_t ngx_stream_limit_c


static ngx_stream_module_t ngx_stream_limit_conn_module_ctx = {
+ NULL, /* preconfiguration */
ngx_stream_limit_conn_init, /* postconfiguration */

NULL, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_proxy_module.c
--- a/src/stream/ngx_stream_proxy_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_proxy_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -314,6 +314,7 @@ static ngx_command_t ngx_stream_proxy_c


static ngx_stream_module_t ngx_stream_proxy_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

NULL, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_ssl_module.c
--- a/src/stream/ngx_stream_ssl_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_ssl_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -132,6 +132,7 @@ static ngx_command_t ngx_stream_ssl_com


static ngx_stream_module_t ngx_stream_ssl_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

NULL, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_upstream.c
--- a/src/stream/ngx_stream_upstream.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_upstream.c Wed Jun 15 15:10:24 2016 +0300
@@ -39,6 +39,7 @@ static ngx_command_t ngx_stream_upstrea


static ngx_stream_module_t ngx_stream_upstream_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

ngx_stream_upstream_create_main_conf, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_upstream_hash_module.c
--- a/src/stream/ngx_stream_upstream_hash_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_upstream_hash_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -76,6 +76,7 @@ static ngx_command_t ngx_stream_upstrea


static ngx_stream_module_t ngx_stream_upstream_hash_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

NULL, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_upstream_least_conn_module.c
--- a/src/stream/ngx_stream_upstream_least_conn_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_upstream_least_conn_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -32,6 +32,7 @@ static ngx_command_t ngx_stream_upstrea


static ngx_stream_module_t ngx_stream_upstream_least_conn_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

NULL, /* create main configuration */
diff -r f379b32e4733 -r 2f41d383c9c7 src/stream/ngx_stream_upstream_zone_module.c
--- a/src/stream/ngx_stream_upstream_zone_module.c Sat Jul 02 15:59:53 2016 +0300
+++ b/src/stream/ngx_stream_upstream_zone_module.c Wed Jun 15 15:10:24 2016 +0300
@@ -32,6 +32,7 @@ static ngx_command_t ngx_stream_upstrea


static ngx_stream_module_t ngx_stream_upstream_zone_module_ctx = {
+ NULL, /* preconfiguration */
NULL, /* postconfiguration */

NULL, /* create main configuration */

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Stream: added preconfiguration step.

Vladimir Homutov 250 July 04, 2016 10:52AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 258
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready