Refactor server code (use connections)

Past version was unusable with >1 client.
This commit is contained in:
Pedro Ferreira
2018-02-04 15:41:30 +01:00
parent 706705307b
commit 59de8c3ce0
6 changed files with 231 additions and 43 deletions

View File

@@ -14,15 +14,14 @@ with open(os.path.expanduser('~/.ssb/secret')) as f:
async def main():
server_pub_key = b64decode(config['public'][:-8])
client = SHSClient('localhost', 8008, SigningKey.generate(), server_pub_key)
await client.open()
async for msg in client:
print(msg)
loop = get_event_loop()
server_pub_key = b64decode(config['public'][:-8])
client = SHSClient('localhost', 8008, SigningKey.generate(), server_pub_key, loop=loop)
client.connect()
loop.run_until_complete(main())
loop.close()

View File

@@ -13,17 +13,18 @@ with open(os.path.expanduser('~/.ssb/secret')) as f:
config = yaml.load(f)
async def main():
async for msg in server:
async def _on_connect(conn):
async for msg in conn:
print(msg)
async def main():
server_keypair = SigningKey(b64decode(config['private'][:-8])[:32])
server = SHSServer('localhost', 8008, server_keypair)
server.on_connect(_on_connect)
await server.listen()
loop = get_event_loop()
server_keypair = SigningKey(b64decode(config['private'][:-8])[:32])
server = SHSServer('localhost', 8008, server_keypair, loop=loop)
server.on_connect(main)
server.listen()
loop.run_until_complete(main())
loop.run_forever()
loop.close()