def __init__(self): self.n = Node(cert='serverside.pem') self.n.listen(port=10002) ref = self.n.register(self) print 'Master at', self.n.refurl(ref) self.slaves = {} later(5.0, self.process)
def main(): n = Node(cert='serverside.pem') im = Instamaster() ref = n.register(im, 'im') n._on('connection', im.on_new_conn) n.listen(port=20001) print 'Instamaster at', n.refurl(ref) loop() return 0
def main(): global SDIR SDIR = sys.argv[1] secret = sys.argv[2] if not (os.path.exists(SDIR) and os.path.isdir(SDIR)): os.mkdir(SDIR) n = Node(cert=None) n.listen(port=PORT) gs = Fileserver() ref = n.register(gs, cap=secret) logging.info('gs at {0}'.format(n.refurl(ref))) 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
def __init__(self): self.n = Node(cert=CERT) self.rpcconn = None self.connect()
def __init__(self, mountdir): self.mountdir = mountdir self.n = Node(cert=None) self.fuse = None later(0.0, self.connect)
import logging logging.basicConfig(level=logging.DEBUG) from pwrcall import loop, unloop, Node, expose, Promise from evnet import later n = Node(cert='serverside2.pem') class Giftreceiver(object): def __init__(self): self.donaterunpromise = Promise() self.obj = None @expose def donate(self, url): #print obj, obj.conn, obj.functions print url self.obj = n.establish(url) r = self.obj.call('add', 10, 31) r._when(self.done) return self.donaterunpromise def done(self, r): print 'done using the object, result:', r self.donaterunpromise._resolve('Thanks, i am done!.') later(3, self.retry) def works(self, r): print 'reusing worked, result:', r later(3, self.retry)
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 IPython.Shell import IPShellEmbed from evnet import pyevThread from pwrcall import Node, expose, loop, unloop from pwrcall.util import NodeException, parse_url CERT = 'clientside.pem' t = pyevThread() t.start() n = Node(cert=CERT) ipshell = IPShellEmbed() def establish(pwrurl): return t.blockingCall(n.establish, pwrurl) def pwrcall(obj, fn, *args): return t.blockingCall(obj.call, fn, *args) if __name__ == '__main__': ipshell.set_banner('''pwrcall Interactive Shell ------------------------- starts up a evnet loop and pwrcall Node use the Node through the t.blockingCall function''') ipshell.set_exit_msg('Exit.') ipshell() sys.exit(0)
import logging logging.basicConfig(level=logging.DEBUG) from pwrcall import loop, unloop, Node, expose import pyev import evnet class Math(object): @expose def add(self, a, b): return a + b @expose def mul(self, a, b): return a * b n = Node(cert='cert.pem') ref = n.register_object(Math()) n.listen(port=10000) print 'math obj ready at', n.refurl(ref) loop()
n.shutdown() unloop() c += 1 ctime = time.time() if c % 1000 == 0: print int(ctime * 1000), c if ctime - starttime < 60.0: startcall() else: print int(ctime * 1000), c n.shutdown() unloop() n = Node(cert='cert2.pem') math = n.establish(sys.argv[1]) math._except(printexception) c = 0 starttime = time.time() ctime = time.time() print int(ctime * 1000), c for i in range(10): startcall() loop()