mirror of git://git.psyced.org/git/pypsyc
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
from twisted.internet import protocol
|
||
|
|
||
|
from base import MMPCircuit, PSYCCircuit
|
||
|
from client import ClientCenter
|
||
|
from server import ServerCenter
|
||
|
|
||
|
|
||
|
class CircuitBaseProtocol(protocol.Protocol):
|
||
|
def connectionMade(self):
|
||
|
self.init()
|
||
|
|
||
|
def dataReceived(self, data):
|
||
|
self.mmp_parser.data(data)
|
||
|
|
||
|
def _send(self, data):
|
||
|
print (data,)
|
||
|
self.transport.write(data)
|
||
|
|
||
|
|
||
|
class MMPCircuitProtocol(CircuitBaseProtocol, MMPCircuit): pass
|
||
|
|
||
|
|
||
|
class PSYCCircuitProtocol(CircuitBaseProtocol, PSYCCircuit): pass
|
||
|
|
||
|
|
||
|
class TwistedClientCenter(ClientCenter, protocol.ClientFactory):
|
||
|
def buildProtocol(self, addr):
|
||
|
p = PSYCCircuitProtocol(self)
|
||
|
self.connected(p, addr.host)
|
||
|
return p
|
||
|
|
||
|
def connect(self, host, port = 4404):
|
||
|
self.reactor.connectTCP(host, port, self)
|
||
|
|
||
|
|
||
|
#class TwistedServerCenter(ClientCenter, protocol.ClientFactory):
|
||
|
# def buildProtocol(self, addr):
|
||
|
# p = CircuitProtocol(self)
|
||
|
# self.connected(p, addr.host)
|
||
|
# return p
|
||
|
#
|
||
|
# def connect(self, host, port = 4404):
|
||
|
# self.reactor.connectTCP(host, port, self)
|