E&S CVS Commit: PEAK - Finished the bulk of the "daemon" refactoring. There are now separate

pje at eby-sarna.com pje at eby-sarna.com
Thu Apr 17 20:03:01 EDT 2003


Module Name:	PEAK
Committed By:	pje
Date:		Fri Apr 18 00:02:33 UTC 2003

Modified Files:
	PEAK/src/peak: peak.ini
	PEAK/src/peak/running: daemons.py interfaces.py scheduler.py

Log Message:
Finished the bulk of the "daemon" refactoring.  There are now separate
interfaces for different aspects of task scheduling and event loop
management.  An 'ITaskQueue' schedules prioritized periodic tasks, an
'IMainLoop' controls activity monitoring and timeouts, and an
'IBasicReactor' or 'ITwistedReactor' handles I/O and scheduled event
processing.  There are default implementations of all scheduling
interfaces (including an untested 'UntwistedReactor' for use when Twisted
isn't needed or available), and they are registered in 'peak.ini' as
utility providers.

In addition, I added two application-related interfaces, 'ICmdLineApp' and
'ICmdLineAppFactory'.  These are intended to form the basis of a framework
for handling CGI, FastCGI, or any other command-line invocation protocol
such as ReadyExec.  That is, a protocol handler for (say) FastCGI would
invoke an 'ICmdLineAppFactory' to create an 'ICmdLineApp' with a given
stdin, stdout, stderr, environ, and argv, ready to be 'run()'.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/src/peak/peak.ini.diff?r1=1.31&r2=1.32
http://cvs.eby-sarna.com/PEAK/src/peak/running/daemons.py.diff?r1=1.5&r2=1.6
http://cvs.eby-sarna.com/PEAK/src/peak/running/interfaces.py.diff?r1=1.3&r2=1.4
http://cvs.eby-sarna.com/PEAK/src/peak/running/scheduler.py.diff?r1=1.3&r2=1.4

To generate a diff of this commit:
cvs rdiff -r1.31 -r1.32 PEAK/src/peak/peak.ini
cvs rdiff -r1.5 -r1.6 PEAK/src/peak/running/daemons.py
cvs rdiff -r1.3 -r1.4 PEAK/src/peak/running/interfaces.py \
    PEAK/src/peak/running/scheduler.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list