def make_session(config): @coroutine def on_join(session, details): print("on_join: {}".format(details)) def add2(a, b): return a + b yield session.register(add2, 'com.example.add2') try: res = yield session.call('com.example.add2', 2, 3) print("result: {}".format(res)) except Exception as e: print("error: {}".format(e)) finally: session.leave() session = Session(config=config) session.on('join', on_join) return session if __name__ == '__main__': session = make_session() connection = Connection() react(connection.start, [session])
session.leave() connection.on('join', on_join) if __name__ == '__main__': #import txaio #txaio.use_twisted() #txaio.start_logging(level='debug') transports = [{ 'type': 'rawsocket', 'serializer': 'msgpack', 'endpoint': { 'type': 'unix', 'path': '/tmp/cb1.sock' } }, { 'type': 'websocket', 'url': 'ws://127.0.0.1:8080/ws', 'endpoint': { 'type': 'tcp', 'host': '127.0.0.1', 'port': 8080 } }] connection = Connection(transports=transports) connection.on('start', main) react(connection.start)