コード例 #1
0
ファイル: server.py プロジェクト: 4ZM/cortex-beacon
# 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
コード例 #2
0
ファイル: runner.py プロジェクト: eallik/spinoff
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={},
コード例 #3
0
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):
コード例 #4
0
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,
コード例 #5
0
ファイル: startnode.py プロジェクト: cordis/spinoff
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 = [