def test_connect(self): """ You can connect to other servers. This is functionalish """ server = Hub() client = Hub() called = [] client.remoteHubFactory = lambda x: 'foo' client.gotRemoteRoot = called.append server.startServer(server.getPBServerFactory(), 'tcp:10999') def check(r): self.assertEqual(called, ['foo'], "Should have called .gotRemoteRoot with wrapped remote") return r d = client.connect('tcp:host=127.0.0.1:port=10999') d.addCallback(check) d.addCallback(lambda x: client.disconnect( 'tcp:host=127.0.0.1:port=10999')) d.addCallback(lambda x: server.stopServer('tcp:10999')) return d
from twisted.internet import reactor, task, utils from twisted.python import log import sys from simplebb.hub import Hub from simplebb.builder import FileBuilder log.startLogging(sys.stdout) fb = FileBuilder('example/projects') h = Hub() h.addBuilder(fb) h.connect('tcp:host=127.0.0.1:port=9222') h.startServer(h.getShellServerFactory(), 'tcp:9224') reactor.run()
#!/usr/bin/python from twisted.internet import task from twisted.python import log from twisted.internet import reactor import sys log.startLogging(sys.stdout) from simplebb.hub import Hub h = Hub() h.connect('tcp:host=127.0.0.1:port=8100') def monitor(): txt = 'builders: %s, outgoing: %s, servers: %s' % ( len(h._builders), len(h._outgoingConns), len(h._servers)) log.msg(txt) t = task.LoopingCall(monitor) t.start(2) reactor.run()