Package ClusterShell :: Module Event
[hide private]
[frames] | no frames]

Source Code for Module ClusterShell.Event

 1  # 
 2  # Copyright CEA/DAM/DIF (2007, 2008, 2009) 
 3  #  Contributor: Stephane THIELL <stephane.thiell@cea.fr> 
 4  # 
 5  # This file is part of the ClusterShell library. 
 6  # 
 7  # This software is governed by the CeCILL-C license under French law and 
 8  # abiding by the rules of distribution of free software.  You can  use, 
 9  # modify and/ or redistribute the software under the terms of the CeCILL-C 
10  # license as circulated by CEA, CNRS and INRIA at the following URL 
11  # "http://www.cecill.info". 
12  # 
13  # As a counterpart to the access to the source code and  rights to copy, 
14  # modify and redistribute granted by the license, users are provided only 
15  # with a limited warranty  and the software's author,  the holder of the 
16  # economic rights,  and the successive licensors  have only  limited 
17  # liability. 
18  # 
19  # In this respect, the user's attention is drawn to the risks associated 
20  # with loading,  using,  modifying and/or developing or reproducing the 
21  # software by the user in light of its specific status of free software, 
22  # that may mean  that it is complicated to manipulate,  and  that  also 
23  # therefore means  that it is reserved for developers  and  experienced 
24  # professionals having in-depth computer knowledge. Users are therefore 
25  # encouraged to load and test the software's suitability as regards their 
26  # requirements in conditions enabling the security of their systems and/or 
27  # data to be ensured and,  more generally, to use and operate it in the 
28  # same conditions as regards security. 
29  # 
30  # The fact that you are presently reading this means that you have had 
31  # knowledge of the CeCILL-C license and that you accept its terms. 
32  # 
33  # $Id: Event.py 126 2009-07-13 21:35:07Z st-cea $ 
34   
35  """ 
36  Event handler support 
37   
38  EventHandler's derived classes may implement ev_* methods to listen on 
39  worker's events. 
40  """ 
41   
42 -class EventHandler:
43 """ 44 Base class EventHandler. 45 """
46 - def _invoke(self, ev_type, source):
47 """ 48 Invoke a specific event handler. 49 """ 50 ev_handler = getattr(self, ev_type) 51 ev_handler(source)
52
53 - def ev_start(self, worker):
54 """ 55 Called to indicate that a worker has just started. 56 """
57
58 - def ev_read(self, worker):
59 """ 60 Called to indicate that a worker has data to read. 61 """
62
63 - def ev_written(self, worker):
64 """ 65 Called to indicate that writing has been done. 66 """
67
68 - def ev_hup(self, worker):
69 """ 70 Called to indicate that a worker's connection has been closed. 71 """
72
73 - def ev_timeout(self, worker):
74 """ 75 Called to indicate that a worker has timed out (worker timeout only). 76 """
77
78 - def ev_close(self, worker):
79 """ 80 Called to indicate that a worker has just finished (it may already 81 have failed on timeout). 82 """
83
84 - def ev_timer(self, timer):
85 """ 86 Handle firing timer. 87 88 @timer: The timer that is firing. 89 """
90