You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tcl.apache.org by mx...@apache.org on 2018/11/29 18:02:02 UTC

[tcl-rivet] branch master updated (003108d -> fadf3fd)

This is an automated email from the ASF dual-hosted git repository.

mxmanghi pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tcl-rivet.git.


    from 003108d  bump version number to 3.2.0
     new 2611505  new timestamps
     new 8df5cd3  manual corrections
     new fadf3fd  giving the bridge structure variables meaningful names in the context of bridge development

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 doc/rivet.xml                          | 28 ++++++++++++------------
 doc/rivet.xml.in                       |  2 +-
 doc/xml/formbroker.xml                 | 39 ++++++++++++++++++----------------
 doc/xml/intro.xml                      | 20 ++++++++---------
 rivet/init.tcl                         |  4 ++--
 src/mod_rivet_ng/mod_rivet.c           | 14 ++++++------
 src/mod_rivet_ng/mod_rivet.h           | 18 ++++++++--------
 src/mod_rivet_ng/mod_rivet_generator.c |  2 +-
 8 files changed, 65 insertions(+), 62 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tcl.apache.org
For additional commands, e-mail: commits-help@tcl.apache.org


[tcl-rivet] 01/03: new timestamps

Posted by mx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mxmanghi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tcl-rivet.git

commit 261150563f1f3b025688fdf86cc016949426dbfe
Author: Massimo Manghi <mx...@apache.org>
AuthorDate: Sat Nov 24 11:20:40 2018 +0100

    new timestamps
---
 doc/rivet.xml    | 26 +++++++++++++-------------
 doc/rivet.xml.in |  2 +-
 rivet/init.tcl   |  4 ++--
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/doc/rivet.xml b/doc/rivet.xml
index d4543c7..b1c39eb 100644
--- a/doc/rivet.xml
+++ b/doc/rivet.xml
@@ -35,22 +35,22 @@
     <!ENTITY asciiglyphs.xml       SYSTEM "xml/asciiglyphs.xml" >
     <!ENTITY lazybridge.xml        SYSTEM "xml/lazybridge.xml" >
     <!ENTITY formbroker.xml        SYSTEM "xml/formbroker.xml" >
-    <!ENTITY version	              "3.1" >
-    <!ENTITY fullversion           "3.1.0" >
-    <!ENTITY version2-series	     "2.0,2.1,2.2,2.3" >
-    <!ENTITY version2-generic	     "2.x" >
-    <!ENTITY version30		        "3.0" >
-    <!ENTITY version31		        "3.1" >
+    <!ENTITY version	           "3.2" >
+    <!ENTITY fullversion           "3.2.0" >
+    <!ENTITY version2-series	   "2.0,2.1,2.2,2.3" >
+    <!ENTITY version2-generic	   "2.x" >
+    <!ENTITY version30		       "3.0" >
+    <!ENTITY version31		       "3.1" >
     <!ENTITY tcltk-url             "http://www.tcl.tk/" >
     <!ENTITY apache-url            "http://httpd.apache.org" >
     <!ENTITY apachedoc-vhost       "https://httpd.apache.org/docs/2.4/vhosts" >
-    <!ENTITY apachedoc-mpm	        "https://httpd.apache.org/docs/2.4/mpm.html" >
-    <!ENTITY apachedoc-prefork	  "https://httpd.apache.org/docs/2.4/mod/prefork.html" >
-    <!ENTITY apachedoc-worker	     "https://httpd.apache.org/docs/2.4/mod/worker.html" >
-    <!ENTITY apachedoc-event	     "https://httpd.apache.org/docs/2.4/mod/event.html" >
-    <!ENTITY apachedoc-winnt		  "https://httpd.apache.org/docs/2.4/mod/mpm_winnt.html" >
+    <!ENTITY apachedoc-mpm	       "https://httpd.apache.org/docs/2.4/mpm.html" >
+    <!ENTITY apachedoc-prefork	   "https://httpd.apache.org/docs/2.4/mod/prefork.html" >
+    <!ENTITY apachedoc-worker	   "https://httpd.apache.org/docs/2.4/mod/worker.html" >
+    <!ENTITY apachedoc-event	   "https://httpd.apache.org/docs/2.4/mod/event.html" >
+    <!ENTITY apachedoc-winnt	   "https://httpd.apache.org/docs/2.4/mod/mpm_winnt.html" >
     <!ENTITY apachedoc-docroot     "https://httpd.apache.org/docs/2.4/mod/core.html#documentroot" >
-    <!ENTITY apachedoc-alias		  "https://httpd.apache.org/docs/2.4/mod/mod_alias.html" >
+    <!ENTITY apachedoc-alias	   "https://httpd.apache.org/docs/2.4/mod/mod_alias.html" >
     <!ENTITY apachedoc-rewrite     "https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html" >
     <!ENTITY apachedoc-perftuning  "https://httpd.apache.org/docs/2.4/misc/perf-tuning.html" >
 ]>
@@ -90,7 +90,7 @@
   	</articleinfo>
 
   	<para>
-    	This manual was generated on <?dbtimestamp format="A Y-m-d X" ?>
+    	This manual is released as part of Apache/Rivet &fullversion; (<?dbtimestamp format="A Y-m-d X" ?>).
   	</para>
 
 	<!-- Introduction -->
diff --git a/doc/rivet.xml.in b/doc/rivet.xml.in
index e24504e..dfdf6b4 100644
--- a/doc/rivet.xml.in
+++ b/doc/rivet.xml.in
@@ -75,7 +75,7 @@
   	<articleinfo>
     	<title>Apache Rivet &version;</title>
     	<copyright>
-        	<year>2002-2018</year>
+        	<year>2002-<?dbtimestamp format="Y" ?></year>
         	<holder>Apache Software Foundation</holder>
     	</copyright>
     	<author>
diff --git a/rivet/init.tcl b/rivet/init.tcl
index 41438f3..657ffc7 100644
--- a/rivet/init.tcl
+++ b/rivet/init.tcl
@@ -16,7 +16,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-package require rivetlib 3.1
+package require rivetlib 3.2
 
 # the ::rivet namespace is created in mod_rivet_commoc.c:Rivet_PerInterpInit
 # namespace eval ::rivet {} ; ## create namespace
@@ -259,4 +259,4 @@ proc ::Rivet::tcl_commands_export_list {tclpath} {
 
 ::Rivet::init
 
-package provide Rivet 3.1
+package provide Rivet 3.2


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tcl.apache.org
For additional commands, e-mail: commits-help@tcl.apache.org


[tcl-rivet] 02/03: manual corrections

Posted by mx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mxmanghi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tcl-rivet.git

commit 8df5cd3732f549df96c80d6964f3bcb9e07d749b
Author: Massimo Manghi <mx...@apache.org>
AuthorDate: Thu Nov 29 19:00:54 2018 +0100

    manual corrections
---
 doc/rivet.xml          |  2 +-
 doc/xml/formbroker.xml | 39 +++++++++++++++++++++------------------
 doc/xml/intro.xml      | 20 ++++++++++----------
 3 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/doc/rivet.xml b/doc/rivet.xml
index b1c39eb..4d8cf4d 100644
--- a/doc/rivet.xml
+++ b/doc/rivet.xml
@@ -75,7 +75,7 @@
   	<articleinfo>
     	<title>Apache Rivet &version;</title>
     	<copyright>
-        	<year>2002-2018</year>
+        	<year>2002-<?dbtimestamp format="Y" ?></year>
         	<holder>Apache Software Foundation</holder>
     	</copyright>
     	<author>
diff --git a/doc/xml/formbroker.xml b/doc/xml/formbroker.xml
index e00a772..3160f2b 100644
--- a/doc/xml/formbroker.xml
+++ b/doc/xml/formbroker.xml
@@ -4,20 +4,22 @@
       <title>Introduction</title>
       <para>
          The <command>FormBroker</command> package creates instances of 
-         objects representing a form data description. These objects offer a 
-         simple interface of methods meant to validate and control data 
-         as typically posted through an HTML form, 
-         thus data represented through the association of form variables 
-         with their values as returned, for example, 
-         by the <command>::rivet::load_response</command> command
+         form data description objects. These objects instances have
+         a simple set of methods to validate and control data
+         as typically posted by HTML forms,
+         thus data represented as the map of form variables
+         to their values. In Rivet this association can be obtained either
+         calling <xref linkend="load_response">::rivet::load_response</xref> or
+         <xref linkend="var">::rivet::var</xref> (form variables can be selectively
+         read also calling <command>::rivet::var_post</command> or
+         <command>::rivet::var_qs</command>)
       </para>
       <note>
       	The <command>FormBroker</command> package is still experimental. 
       	Basic functionalities and interface are not likely to change but
       	internal details and implementation could be redesigned
       	in future releases. More specifically the external validator mechanism
-      	could be improved with the purpose of shielding the <command>FormBroker</command>
-      	internals from a data validation procedure.
+			will likely need design improvements.
       </note>
       <!-- programlisting>
       
@@ -45,18 +47,19 @@
             <para>
                The command returns a reference to a form broker object by creating
                a representation of the form data using the list of variable 
-               descriptors passed to <command>create</command>. Each descriptor
-               is a list of parameter or parameter-value pairs whose order has as only requirement
-               to begin with the <command>{variable_name variable_type}</command> pair.
-               A formbroker object handles natively integer, unsigned, string, boolean and email data types.
-               The programmer can defined new data type and provide in the descriptor a
-               reference to a validating procedure for that type.
+               descriptors passed to method <command>create</command>. Each descriptor
+               is a list of parameter or parameter-value pairs that must
+               begin with the <command>{variable_name variable_type}</command> pair as only
+               requirement. A formbroker object provide native support for
+               integer, unsigned integer, string, boolean and email data types.
+               The programmer can defined new data types and provide in the descriptor a
+               reference to a validation procedure for that type.
             </para>
             <para>
-               The optional <arg>-quoting quoting_procedure</arg> switch assigns a procedure to
-               be called to quote the form response values. The quoting procedure is any
-               procedure accepting a single string argument and returning its quoted value. A most
-               basic example is the FormBroker default quoting procedure
+               The optional <arg>-quoting quoting_procedure</arg> switch defines an
+               external procedure to quote or reformat the response values. 
+               The quoting procedure is any procedure accepting a single string argument
+               and returning its quoted value. A most basic example is the FormBroker default quoting procedure
             </para>
             <programlisting>proc force_quote {str} {
     return "'$str'"
diff --git a/doc/xml/intro.xml b/doc/xml/intro.xml
index ea4409b..447c144 100644
--- a/doc/xml/intro.xml
+++ b/doc/xml/intro.xml
@@ -30,20 +30,20 @@
         <!-- title>Introduction</title -->
         <title>Apache MPM and Rivet Bridge Modules</title>
         <para>
-	        	Rivet &version; is a major rewriting of mod_rivet, the Apache HTTP
-	        	Websever module at the core of Rivet. Unlike in previous versions of 
-	        	mod_rivet which only supported the <ulink href="&apachedoc-prefork;">prefork MPM</ulink>
-	        	(<ulink href="&apachedoc-mpm;">Multiprocessing Module</ulink>), 
-	        	starting with &version30; we attained full support of different MPM for
-	        	the Apache framework.
+				Rivet &version; is a successor to Rivet &version30;, a major rewriting of mod_rivet,
+				the Apache HTTP Websever module at the core of Rivet. Unlike in &version2-generic; of
+				mod_rivet, which only supported the <ulink href="&apachedoc-prefork;">prefork MPM</ulink>
+				(<ulink href="&apachedoc-mpm;">Multiprocessing Module</ulink>),
+				starting with &version30; we attained full support of different MPM for
+				the Apache framework.
         </para>
         <para>
         		Threaded <ulink href="&apachedoc-mpm;">MPM</ulink>
         		integration was achieved by making mod_rivet multithreaded and
         		modular itself, introducing the MPM-module bridge concept.
-        		We developed a set of loadable modules 
-        		which are supposed not only to overcome the issues related to threading but also
-        		to offer the best possible MPM mod_rivet integration.
+				We developed a set of loadable modules which are supposed not only to overcome 
+            the issues related to threading but also to offer the best possible MPM mod_rivet 
+            integration.
         		As a side effect of this modular design mod_rivet is not only able to integrate
         		with its environment but also to work as a framework for writing more MPM bridges
         		designed along different multi-threading schemes and workload management models. 
@@ -79,7 +79,7 @@
 			entirely based on Tcl. By default rivet &version; provides compatiblity with the 
 			version &version2-generic; scheme to handle a request but this can be entirely overridden by
 			the developer replacing the central request handling procedure. See the 
-			<link linkend="request">request processing</link> page for further reading 
+			<link linkend="request">request processing</link> page.
 		</para>
     </simplesect>
     <simplesect>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tcl.apache.org
For additional commands, e-mail: commits-help@tcl.apache.org


[tcl-rivet] 03/03: giving the bridge structure variables meaningful names in the context of bridge development

Posted by mx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mxmanghi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tcl-rivet.git

commit fadf3fd5e0d25511bb728bbf5a6b6d64f202c955
Author: Massimo Manghi <mx...@apache.org>
AuthorDate: Thu Nov 29 19:01:49 2018 +0100

    giving the bridge structure variables meaningful names in the context of bridge development
---
 src/mod_rivet_ng/mod_rivet.c           | 14 +++++++-------
 src/mod_rivet_ng/mod_rivet.h           | 18 +++++++++---------
 src/mod_rivet_ng/mod_rivet_generator.c |  2 +-
 3 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/src/mod_rivet_ng/mod_rivet.c b/src/mod_rivet_ng/mod_rivet.c
index de15995..6cb94a5 100644
--- a/src/mod_rivet_ng/mod_rivet.c
+++ b/src/mod_rivet_ng/mod_rivet.c
@@ -292,7 +292,7 @@ Rivet_RunServerInit (apr_pool_t *pPool, apr_pool_t *pLog, apr_pool_t *pTemp, ser
 
 	/* bridge specific server init script */
 	
-	RIVET_MPM_BRIDGE_CALL(mpm_server_init,pPool,pLog,pTemp,s);
+	RIVET_MPM_BRIDGE_CALL(server_init,pPool,pLog,pTemp,s);
 
     return OK;
 }
@@ -366,10 +366,10 @@ Rivet_ServerInit (apr_pool_t *pPool, apr_pool_t *pLog, apr_pool_t *pTemp, server
             exit(1);   
         }
 
-        /* we require only mpm_request and mpm_thread_interp to be defined */
+        /* we require only request_processor and thread_interp to be defined */
 
-        ap_assert(RIVET_MPM_BRIDGE_FUNCTION(mpm_request) != NULL);
-        ap_assert(RIVET_MPM_BRIDGE_FUNCTION(mpm_thread_interp) != NULL);
+        ap_assert(RIVET_MPM_BRIDGE_FUNCTION(request_processor) != NULL);
+        ap_assert(RIVET_MPM_BRIDGE_FUNCTION(thread_interp) != NULL);
 
         apr_thread_mutex_create(&module_globals->pool_mutex, APR_THREAD_MUTEX_UNNESTED, pPool);
 
@@ -399,7 +399,7 @@ Rivet_ServerInit (apr_pool_t *pPool, apr_pool_t *pLog, apr_pool_t *pTemp, server
 apr_status_t Rivet_Finalize(void* data)
 {
 
-    RIVET_MPM_BRIDGE_CALL(mpm_finalize,data);
+    RIVET_MPM_BRIDGE_CALL(child_finalize,data);
     apr_threadkey_private_delete (rivet_thread_key);
 
     return OK;
@@ -467,7 +467,7 @@ static void Rivet_ChildInit (apr_pool_t *pChild, server_rec *server)
 
     /* Calling the brigde child process initialization */
 
-    RIVET_MPM_BRIDGE_CALL(mpm_child_init,pChild,server);
+    RIVET_MPM_BRIDGE_CALL(thread_init,pChild,server);
 
     apr_pool_cleanup_register (pChild,server,Rivet_Finalize,Rivet_Finalize);
 }
@@ -480,7 +480,7 @@ static int Rivet_Handler (request_rec *r)
         return DECLINED;
     }
 
-    return (*RIVET_MPM_BRIDGE_FUNCTION(mpm_request))(r,ctype);
+    return (*RIVET_MPM_BRIDGE_FUNCTION(request_processor))(r,ctype);
 }
 
 /*
diff --git a/src/mod_rivet_ng/mod_rivet.h b/src/mod_rivet_ng/mod_rivet.h
index 428258d..2767663 100644
--- a/src/mod_rivet_ng/mod_rivet.h
+++ b/src/mod_rivet_ng/mod_rivet.h
@@ -170,7 +170,7 @@ typedef struct _rivet_thread_interp {
 typedef struct _thread_worker_private rivet_thread_private;
 
 typedef int                     (RivetBridge_ServerInit)    (apr_pool_t*,apr_pool_t*,apr_pool_t*,server_rec*);
-typedef void                    (RivetBridge_ChildInit)     (apr_pool_t* pPool,server_rec* s);
+typedef void                    (RivetBridge_ThreadInit)    (apr_pool_t* pPool,server_rec* s);
 typedef int                     (RivetBridge_Request)       (request_rec*,rivet_req_ctype);
 typedef apr_status_t            (RivetBridge_Finalize)      (void*);
 typedef rivet_thread_interp*    (RivetBridge_Master_Interp) (void);
@@ -178,12 +178,12 @@ typedef int                     (RivetBridge_Exit_Handler)  (int);
 typedef rivet_thread_interp*    (RivetBridge_Thread_Interp) (rivet_thread_private*,rivet_server_conf *,rivet_thread_interp*);
 
 typedef struct _mpm_bridge_table {
-    RivetBridge_ServerInit    *mpm_server_init;
-    RivetBridge_ChildInit     *mpm_child_init;
-    RivetBridge_Request       *mpm_request;
-    RivetBridge_Finalize      *mpm_finalize;
-    RivetBridge_Exit_Handler  *mpm_exit_handler;
-    RivetBridge_Thread_Interp *mpm_thread_interp;
+    RivetBridge_ServerInit    *server_init;
+    RivetBridge_ThreadInit    *thread_init;
+    RivetBridge_Request       *request_processor;
+    RivetBridge_Finalize      *child_finalize;
+    RivetBridge_Exit_Handler  *exit_handler;
+    RivetBridge_Thread_Interp *thread_interp;
 } rivet_bridge_table;
 
 /* we need also a place where to store globals with module wide scope */
@@ -313,10 +313,10 @@ Tcl_Obj* Rivet_CurrentServerRec (Tcl_Interp* interp, server_rec* s);
 }
 
 #define RIVET_PEEK_INTERP(thread_private,running_conf) \
-        (module_globals->bridge_jump_table->mpm_thread_interp)(thread_private,running_conf,NULL)
+        (module_globals->bridge_jump_table->thread_interp)(thread_private,running_conf,NULL)
 
 #define RIVET_POKE_INTERP(thread_private,running_conf,interp) \
-        (module_globals->bridge_jump_table->mpm_thread_interp)(thread_private,running_conf,interp)
+        (module_globals->bridge_jump_table->thread_interp)(thread_private,running_conf,interp)
 
 #define RIVET_MPM_BRIDGE rivet_bridge_table bridge_jump_table =
 
diff --git a/src/mod_rivet_ng/mod_rivet_generator.c b/src/mod_rivet_ng/mod_rivet_generator.c
index e1d9273..8983aab 100644
--- a/src/mod_rivet_ng/mod_rivet_generator.c
+++ b/src/mod_rivet_ng/mod_rivet_generator.c
@@ -372,7 +372,7 @@ sendcleanup:
     {
         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, private->r, 
                                   "process terminating with code %d",private->exit_status);
-        RIVET_MPM_BRIDGE_CALL(mpm_exit_handler,private->exit_status);
+        RIVET_MPM_BRIDGE_CALL(exit_handler,private->exit_status);
         //Tcl_Exit(private->exit_status);
         exit(private->exit_status);
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tcl.apache.org
For additional commands, e-mail: commits-help@tcl.apache.org