def main(options, action, args): n = Node(cert=CERTPATH) if action == 'listen': ic = Instaclient(n) loop() elif action == 'send': targetcap, fp = args if not (os.path.exists(fp) and os.path.isfile(fp)): print fp, 'not a file' return 1 im = n.establish(MASTERURL) def established(rim): p = rim.call('open', targetcap) def donecb(r): print 'done:', r n.shutdown() unloop() def prsink(r): print 'sink:', r r.notify('init', os.path.basename(fp)) fs = Filestreamer(open(fp, 'rb'), r, rim.conn) fs.p._when(donecb) fs.p._except(donecb) def prexcept(e): print 'Error:', e n.shutdown() unloop() p._when(prsink) p._except(prexcept) im._when(established) loop() return 0
def main(options, action, args): n = Node(cert=CERTPATH) if action == 'listen': ic = Instaclient(n) loop() elif action == 'send': targetcap, fp = args if not (os.path.exists(fp) and os.path.isfile(fp)): print fp, 'not a file' return 1 im = n.establish(MASTERURL) def established(rim): p = rim.call('open', targetcap) def donecb(r): print 'done:', r n.shutdown() unloop() def prsink(r): print 'sink:' , r r.notify('init', os.path.basename(fp)) fs = Filestreamer(open(fp, 'rb'), r, rim.conn) fs.p._when(donecb) fs.p._except(donecb) def prexcept(e): print 'Error:', e n.shutdown() unloop() p._when(prsink) p._except(prexcept) im._when(established) loop() return 0
class ClientClass(object): def __init__(self): self.n = Node(cert=CERT) self.rpcconn = None self.connect() def connect(self, reason=''): #self.rc = self.n.connect(HOST, PORT) conn_promise = self.n.establish(PURL) conn_promise._when(self.established) conn_promise._except(self.notestablished) def established(self, rpcconn): def delay(reason): later(3.0, self.connect) rpcconn.conn._on('close', delay) print 'now we are connected!', rpcconn self.rpcconn = rpcconn def notestablished(self, error): later(3.0, self.connect)
class ClientClass(object): def __init__(self): self.n = Node(cert=CERT) self.rpcconn = None self.connect() def connect(self, reason=''): #self.rc = self.n.connect(HOST, PORT) conn_promise = self.n.establish(PURL) conn_promise._when(self.established) conn_promise._except(self.notestablished) def established(self, rpcconn): def delay(reason): later(3.0, self.connect) rpcconn.conn._on('close', delay) print 'now we are connected!', rpcconn self.rpcconn = rpcconn def notestablished(self, error): later(3.0, self.connect)
import sys from pwrcall import loop, unloop, Node, expose from evnet import later n = Node(cert='clientside.pem') math = n.establish(sys.argv[1]) def printexception(r): print 'exc:', r n.shutdown() unloop() def printresult(result): print 'printresult:', result def close(r=None): n.shutdown() unloop() math._except(printexception) p = math.call('new', './module/', 'test') p._when(printresult) ap = p.call('add', 4, 5) ap._when(printresult) lp = math.call('list') lp._when(printresult) later(5.0,close)
import sys from pwrcall import loop, unloop, Node, expose import logging logging.basicConfig(level=logging.DEBUG) n = Node(cert='clientside.pem') math = n.establish(sys.argv[1]) #math2 = n.connect('127.0.0.1', 10000).rootobj().call('get', sys.argv[1].split('/')[-1]) def printexception(r): print 'exc:', r n.shutdown() unloop() math._except(printexception) p = math.call('add', 11, 17) def printresult(result): print 'printresult:', result n.shutdown() unloop() p._when(printresult) loop()
import sys from pwrcall import loop, unloop, Node, expose, util n = Node(cert='clientside.pem') math = n.establish(sys.argv[1]) giftr = n.establish(sys.argv[2]) #math2 = n.connect('127.0.0.1', 10000).rootobj().call('get', sys.argv[1].split('/')[-1]) def printexception(r, msg): print 'exc', msg, ':', r n.shutdown() unloop() def printresult(result): print 'printresult:', result def revokedone(res): print 'revokedone', res def doneusing(result, m, ccapp): print 'giftreceiver is done using object:', result fp, hints, cap = util.parse_url(ccapp) print 'asking the owner to revoke the cap...' revokep = m.conn.call('$node', 'revoke', cap) revokep._when(revokedone) revokep._except(printexception, 'revoking')
import sys from pwrcall import loop, unloop, Node, expose, util n = Node(cert='clientside.pem') math = n.establish(sys.argv[1]) giftr = n.establish(sys.argv[2]) #math2 = n.connect('127.0.0.1', 10000).rootobj().call('get', sys.argv[1].split('/')[-1]) def printexception(r, msg): print 'exc', msg, ':', r n.shutdown() unloop() def printresult(result): print 'printresult:', result def revokedone(res): print 'revokedone', res def doneusing(result, m, ccapp): print 'giftreceiver is done using object:', result fp, hints, cap = util.parse_url(ccapp) print 'asking the owner to revoke the cap...' revokep = m.conn.call('$node', 'revoke', cap) revokep._when(revokedone) revokep._except(printexception, 'revoking') def gotclonecap(ccapp, m): print 'got clone cap:', ccapp rp = giftr.call('donate', ccapp) rp._when(doneusing, m, ccapp)