Fix problems with TwoPartyServer

Fixes #61

It turns out I messed up the Server initialization code for the case
where a string is passed in as the address. The tests only cover the
cases where a raw socket is passed in. This will be rectified in a
following commit.
This commit is contained in:
Jason Paryani
2015-04-13 14:14:40 -07:00
parent aa7d530319
commit e00bff6ef8
6 changed files with 67 additions and 20 deletions

View File

@@ -39,7 +39,7 @@ def main(host):
# takes a struct or AnyPointer as an argument), and then cast the returned
# capability to it's proper type. This casting is due to capabilities not
# having a reference to their schema
calculator = client.ez_restore('calculator').cast_as(calculator_capnp.Calculator)
calculator = client.bootstrap().cast_as(calculator_capnp.Calculator)
'''Make a request that just evaluates the literal value 123.

View File

@@ -130,15 +130,10 @@ given address/port ADDRESS may be '*' to bind to all local addresses.\
return parser.parse_args()
def restore(ref):
assert ref.as_text() == 'calculator'
return CalculatorImpl()
def main():
address = parse_args().address
server = capnp.TwoPartyServer(address, restore)
server = capnp.TwoPartyServer(address, bootstrap=CalculatorImpl())
server.run_forever()
if __name__ == '__main__':