feat: progress on rcf
This commit is contained in:
@ -8,13 +8,19 @@ logging.basicConfig(level=logging.DEBUG)
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
class Client(object):
|
class Client(object):
|
||||||
def __init__(self,config=None):
|
def __init__(self,factory=None, config=None):
|
||||||
self.rep_store = {}
|
self.rep_store = {}
|
||||||
self.net = ClientNetService(self.rep_store)
|
self.net = ClientNetService(self.rep_store)
|
||||||
|
self.factory = factory
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.net.start()
|
self.net.start()
|
||||||
|
|
||||||
|
def replicate(self, object):
|
||||||
|
new_item = self.factory.construct(object)(owner="client")
|
||||||
|
|
||||||
|
new_item.store(self.rep_store)
|
||||||
|
|
||||||
def state(self):
|
def state(self):
|
||||||
return self.net.state
|
return self.net.state
|
||||||
|
|
||||||
@ -77,6 +83,7 @@ class Server():
|
|||||||
def __init__(self,config=None):
|
def __init__(self,config=None):
|
||||||
self.rep_store = {}
|
self.rep_store = {}
|
||||||
self.net = ServerNetService(self.rep_store)
|
self.net = ServerNetService(self.rep_store)
|
||||||
|
# self.serve()
|
||||||
|
|
||||||
def serve(self):
|
def serve(self):
|
||||||
self.net.start()
|
self.net.start()
|
||||||
@ -116,10 +123,6 @@ class ServerNetService(threading.Thread):
|
|||||||
self.pull.setsockopt(zmq.RCVHWM, 60)
|
self.pull.setsockopt(zmq.RCVHWM, 60)
|
||||||
self.pull.bind("tcp://*:5562")
|
self.pull.bind("tcp://*:5562")
|
||||||
|
|
||||||
# poller for socket aggregation
|
|
||||||
self.poller = zmq.Poller()
|
|
||||||
self.poller.register(self.snapshot, zmq.POLLIN)
|
|
||||||
self.poller.register(self.pull, zmq.POLLIN)
|
|
||||||
|
|
||||||
self.state = 0
|
self.state = 0
|
||||||
|
|
||||||
@ -136,4 +139,4 @@ class ServerNetService(threading.Thread):
|
|||||||
if not items:
|
if not items:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(.1)
|
@ -31,33 +31,46 @@ class RepSampleData(ReplicatedDatablock):
|
|||||||
class TestData(unittest.TestCase):
|
class TestData(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.map = {}
|
self.map = {}
|
||||||
self.client_api = Client()
|
|
||||||
self.server_api = Server()
|
|
||||||
|
|
||||||
def test_server_launching(self):
|
# def test_server_launching(self):
|
||||||
log.info("test_server_launching")
|
# log.info("test_server_launching")
|
||||||
self.server_api.serve()
|
# self.server_api.serve()
|
||||||
time.sleep(1)
|
# time.sleep(1)
|
||||||
self.assertEqual(self.server_api.state(),1)
|
# self.assertEqual(self.server_api.state(),1)
|
||||||
|
|
||||||
|
# def test_server_stop(self):
|
||||||
|
# log.info("test_server_launching")
|
||||||
|
# self.server_api.stop()
|
||||||
|
# time.sleep(1)
|
||||||
|
# self.assertEqual(self.server_api.state(),0)
|
||||||
|
|
||||||
def test_setup_data_factory(self):
|
def test_setup_data_factory(self):
|
||||||
factory = ReplicatedDataFactory()
|
self.factory = ReplicatedDataFactory()
|
||||||
factory.register_type(SampleData, RepSampleData)
|
self.factory.register_type(SampleData, RepSampleData)
|
||||||
|
|
||||||
data_sample = SampleData()
|
data_sample = SampleData()
|
||||||
rep_sample = factory.construct(data_sample)(owner="toto")
|
rep_sample = self.factory.construct(data_sample)(owner="toto")
|
||||||
self.assertEqual(isinstance(rep_sample,RepSampleData), True)
|
self.assertEqual(isinstance(rep_sample,RepSampleData), True)
|
||||||
|
|
||||||
def test_client_connect(self):
|
def test_setup_net(self):
|
||||||
log.info("test_client_connect")
|
self.server_api = Server()
|
||||||
|
self.server_api.serve()
|
||||||
|
self.client_api = Client()
|
||||||
self.client_api.connect()
|
self.client_api.connect()
|
||||||
time.sleep(1)
|
|
||||||
self.assertEqual(self.client_api.state(),1)
|
def test_push_data(self):
|
||||||
|
self.
|
||||||
|
|
||||||
|
# def test_client_connect(self):
|
||||||
|
# log.info("test_client_connect")
|
||||||
|
# self.client_api.connect()
|
||||||
|
# time.sleep(1)
|
||||||
|
# self.assertEqual(self.client_api.state(),1)
|
||||||
|
|
||||||
def test_client_stop(self):
|
# def test_client_stop(self):
|
||||||
self.client_api.stop()
|
# self.client_api.stop()
|
||||||
time.sleep(1)
|
# time.sleep(1)
|
||||||
self.assertEqual(self.client_api.state(),0)
|
# self.assertEqual(self.client_api.state(),0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user