Ejemplo n.º 1
0
def TopologyViewerServer(serverPort = 1500, **dictArgs):
    """\
    TopologyViewerServer([noServer][,serverPort],**args) -> new TopologyViewerServer component.

    Multiple-clients-at-a-time TCP socket Topology viewer server. Connect on the
    specified port and send topology change data for display by a
    TopologyViewer.

    Keyword arguments:
    
    - serverPort  -- None, or port number to listen on (default=1500)
    - args        -- all remaining keyword arguments passed onto TopologyViewer
    """
    FastRestartServer(protocol=Users, port=serverPort).activate()
#     SimpleServer(protocol=Users, port=serverPort).activate()
    return Pipeline( SubscribeTo("NODEEVENTS"),
                     chunks_to_lines(),
                     lines_to_tokenlists(),
                     TopologyViewer(**dictArgs),
                     ConsoleEchoer()
               )
Ejemplo n.º 2
0
#!/usr/bin/python
# -*- coding: utf-8 -*-

import Axon
from Kamaelia.Chassis.ConnectedServer import FastRestartServer
from Kamaelia.Chassis.Pipeline import Pipeline
from Kamaelia.Util.Backplane import Backplane, PublishTo, SubscribeTo
from Kamaelia.Util.PureTransformer import PureTransformer

Backplane("CHAT_ONE").activate()


def EchoEveryone(**kwargs):
    peer = str(kwargs.get("peer", "<>"))
    peerport = str(kwargs.get("peerport", "<>"))
    return Pipeline(
        PureTransformer(lambda x: "%s:%s says %s" % (peer, peerport, x)),
        PublishTo("CHAT_ONE"),
        # ------------
        SubscribeTo("CHAT_ONE"),
    )


FastRestartServer(protocol=EchoEveryone, port=1500).run()
Ejemplo n.º 3
0
#!/usr/bin/python
"""
This is an example of how to badly re-use a pre-existing component/data
source.  In particular, this code will only work under very low loads, and
fail with a cryptic traceback under load. See the google group for details:

http://groups.google.com/group/kamaelia/msg/b74ce32469f24b26
"""

from Kamaelia.Apps.SA.Time import PeriodicTick
from Kamaelia.Chassis.Pipeline import Pipeline
from Kamaelia.Chassis.ConnectedServer import FastRestartServer

X = Pipeline(PeriodicTick(delay=0.5, tick_mesg="Yes"), ).activate()


def myProtocol(**argd):
    return X


FastRestartServer(protocol=myProtocol, port=1500).run()
Ejemplo n.º 4
0
#!/usr/bin/python

import simplejson
import time

from Kamaelia.Chassis.ConnectedServer import FastRestartServer
from Kamaelia.Chassis.Pipeline import Pipeline
from Kamaelia.Util.PureTransformer import PureTransformer
from Kamaelia.Util.DataSource import DataSource

def TimeService(**argd):
    return Pipeline(
              DataSource([time.time()]),
              PureTransformer(lambda x: time.localtime(x)),
              PureTransformer(lambda x: [y for y in x]),
              PureTransformer(lambda x: simplejson.dumps(x)),
           )

FastRestartServer(protocol=TimeService, port=1500).run()