@return: the daemon instance
@rtype: EventsComponentDaemon
"""
- daemon = EventsComponentDaemon.ensure(0)
import time
+ daemon = EventsComponentDaemon.ensure(0)
+ logger.debug('ensure component daemon')
+
# Because we use a random port we want to wait until a port is assigned to
# local component daemon.
+
while not (EventsComponentDaemon.get_instance() and
EventsComponentDaemon.get_instance().get_port()):
time.sleep(0.1)
% len(args))
if cls.__instance is None:
cls.__instance = object.__new__(
- EventsSingletonDaemon, *args, **kwargs)
+ EventsSingletonDaemon)
cls.__initialize(cls.__instance, args[0], args[1])
return cls.__instance
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
"""
A server for the events mechanism.
2. Signal request: redistribute the signal to registered components.
"""
-
-
import logging
-import sets
import socket
logger.info("Received registration request: %s" % str(request))
# add component port to signal list
if request.event not in registered_components:
- registered_components[request.event] = sets.Set()
+ registered_components[request.event] = set([])
registered_components[request.event].add(request.port)
# send response back to component
+
+ logger.debug('sending response back')
response = proto.EventResponse()
response.status = proto.EventResponse.OK
done.run(response)