# Need to import this first to get twisted to play nice with gevent try: import geventreactor; geventreactor.install() except ImportError: print "gevent not available" from twisted.internet import protocol, reactor, endpoints, interfaces class BeaconServer(protocol.Protocol): def __init__(self, mock): if mock: import mockproducer self._producer = mockproducer.MockProducer(self, 17*2) else: import emotivproducer self._producer = emotivproducer.EmotivProducer(self) def connectionMade(self): self.transport.registerProducer(self._producer, True) self._producer.resumeProducing() self.transport.loseConnection() class BeaconServerFactory(protocol.Factory): def __init__(self, mock): self._mock = mock def buildProtocol(self, addr): return BeaconServer(self._mock) def start_beacon_server(port, mock_data = None): if mock_data is None: mock_data = False
from __future__ import print_function from twisted.internet.error import ReactorAlreadyInstalledError from geventreactor import install, GeventReactor try: install() except ReactorAlreadyInstalledError: from twisted.internet import reactor assert isinstance(reactor, GeventReactor) from gevent import spawn, spawn_later from twisted.application.service import Service from twisted.internet import reactor from twisted.internet.error import ReactorNotRunning from twisted.python.failure import Failure from spinoff.actor import Actor, Node from spinoff.actor.validate import _validate_nodeid from spinoff.util.logging import panic, log from spinoff.util.pattern_matching import ANY _EMPTY = object() class ActorRunner(Service): def __init__( self, actor_cls, init_params={},
from __future__ import print_function import geventreactor geventreactor.install() import sys import traceback from twisted.application.service import IServiceMaker, MultiService from twisted.plugin import IPlugin from twisted.python import usage from zope.interface import implements from spinoff.actor._actor import _validate_nodeid from spinoff.actor.runner import ActorRunner from spinoff.util.logging import fatal, log class _EMPTY(object): def __repr__(self): return '<empty>' def __nonzero__(self): return False _EMPTY = _EMPTY() class Options(usage.Options):
from __future__ import print_function from twisted.internet.error import ReactorAlreadyInstalledError from geventreactor import install, GeventReactor try: install() except ReactorAlreadyInstalledError: from twisted.internet import reactor assert isinstance(reactor, GeventReactor) from gevent import spawn, spawn_later from twisted.application.service import Service from twisted.internet import reactor from twisted.internet.error import ReactorNotRunning from twisted.python.failure import Failure from spinoff.actor import Actor, Node from spinoff.actor.validate import _validate_nodeid from spinoff.util.logging import panic, log from spinoff.util.pattern_matching import ANY _EMPTY = object() class ActorRunner(Service): def __init__(self, actor_cls, init_params={}, initial_message=_EMPTY, nodeid=None, enable_relay=False,
from __future__ import print_function import geventreactor geventreactor.install() import sys import traceback from twisted.application.service import IServiceMaker, MultiService from twisted.plugin import IPlugin from twisted.python import usage from zope.interface import implements from spinoff.actor._actor import _validate_nodeid from spinoff.actor.runner import ActorRunner from spinoff.util.logging import fatal, log class _EMPTY(object): def __repr__(self): return '<empty>' def __nonzero__(self): return False _EMPTY = _EMPTY() class Options(usage.Options): optParameters = [