feat: progress on rcf

This commit is contained in:
Swann
2019-07-06 12:52:15 +02:00
parent c5dc46f63d
commit d4f48f09a0
2 changed files with 40 additions and 24 deletions

View File

@ -8,13 +8,19 @@ logging.basicConfig(level=logging.DEBUG)
log = logging.getLogger(__name__)
class Client(object):
def __init__(self,config=None):
def __init__(self,factory=None, config=None):
self.rep_store = {}
self.net = ClientNetService(self.rep_store)
self.factory = factory
def connect(self):
self.net.start()
def replicate(self, object):
new_item = self.factory.construct(object)(owner="client")
new_item.store(self.rep_store)
def state(self):
return self.net.state
@ -77,6 +83,7 @@ class Server():
def __init__(self,config=None):
self.rep_store = {}
self.net = ServerNetService(self.rep_store)
# self.serve()
def serve(self):
self.net.start()
@ -116,10 +123,6 @@ class ServerNetService(threading.Thread):
self.pull.setsockopt(zmq.RCVHWM, 60)
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
@ -136,4 +139,4 @@ class ServerNetService(threading.Thread):
if not items:
pass
time.sleep(1)
time.sleep(.1)

View File

@ -31,33 +31,46 @@ class RepSampleData(ReplicatedDatablock):
class TestData(unittest.TestCase):
def setUp(self):
self.map = {}
self.client_api = Client()
self.server_api = Server()
def test_server_launching(self):
log.info("test_server_launching")
self.server_api.serve()
time.sleep(1)
self.assertEqual(self.server_api.state(),1)
# def test_server_launching(self):
# log.info("test_server_launching")
# self.server_api.serve()
# time.sleep(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):
factory = ReplicatedDataFactory()
factory.register_type(SampleData, RepSampleData)
self.factory = ReplicatedDataFactory()
self.factory.register_type(SampleData, RepSampleData)
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)
def test_client_connect(self):
log.info("test_client_connect")
def test_setup_net(self):
self.server_api = Server()
self.server_api.serve()
self.client_api = Client()
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):
self.client_api.stop()
time.sleep(1)
self.assertEqual(self.client_api.state(),0)
# def test_client_stop(self):
# self.client_api.stop()
# time.sleep(1)
# self.assertEqual(self.client_api.state(),0)