def io_in(self, data): self.buf.extend(data) if len(self.buf) > MAX_BUF: self.conn.write(page400()) self.conn.close() if self.state == 0: if '\n\n' in self.buf: head, self.buf = self.buf.split('\n\n', 1) elif '\r\n\r\n' in self.buf: head, self.buf = self.buf.split('\r\n\r\n', 1) else: return r = parse_request(head) if r == False: self.conn.write(page400()) self.conn.close() else: self.method, self.path, self.length = r self.state = 1 later(0.0, self.io_in, b'') elif self.state == 1: if len(self.buf) >= self.length: self.dispatch()
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 procfunc(self, arg): print 'procfunc called with array length', len(arg) p = Promise() def fulfill(): r = sum(arg) print 'procfunc sending result', r p._resolve(r) later(2.0, fulfill) return p
def process(self): slaves = self.slaves.values() if not slaves: later(5.0, self.process) print 'process, but no slaves' return somerand = random.randint(10, 200) data = range(somerand * 720, (somerand + 1) * 720) pr = Processround(slaves, data, 'procfunc', sum) p = pr.run() p._except(self.roundfailed) p._when(self.roundresult, sum(data))
def notestablished(self, error): later(3.0, self.connect)
def __init__(self): self.ino = 1 self.pathcache = {1: p('')} self.filehandles = {} later(20.0, self.outputstats)
def delay(reason): later(3.0, self.connect) rpcconn.conn._on('close', delay)
def poll(p): print 'poll', p.p.poll(), p.p.returncode later(1.0, poll, p)
def outputstats(self): print 'STATS' print ' -> PATHCACHE', self.pathcache print ' -> FILEHANDLES', self.filehandles later(20.0, self.outputstats)
def done(self, r): print "done using the object, result:", r self.donaterunpromise._resolve("Thanks, i am done!.") later(3, self.retry)
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) loop()
def server_closed(self, e): print 'server closed.', e later(5.0, self.connect)
def done(self, r): print 'done using the object, result:', r self.donaterunpromise._resolve('Thanks, i am done!.') later(3, self.retry)
def __init__(self): self.ino = 1 self.pathcache = {1:p('')} self.filehandles = {} later(20.0, self.outputstats)
def __init__(self, mountdir): self.mountdir = mountdir self.n = Node(cert=None) self.fuse = None later(0.0, self.connect)
def works(self, r): print 'reusing worked, result:', r later(3, self.retry)
def roundresult(self, r, should): print 'roundresult, shouldbe:', r, should, r == should later(5.0, self.process)
def roundfailed(self, e): print 'processround failed:', e later(5.0, self.process)
def delay(reason): later(3.0, self.connect)
later(1.0, poll, p) def closed(e): print 'subprocess closed', e #unloop() def end(): print 'end.' unloop() def status(p): print 'status', p p = Process(['/bin/nc', '-vvn', '127.0.0.1', '50000']) p._on('read', incoming) p._on('readerr', incominge) p._on('close', closed) p.write('abcdef\n') #later(5.0, status, p) later(1.0, poll, p) #later(5.0, writeto, p) #later(5.0, killp, p) #later(7.0, killp, p) later(15.0, end) loop() print 'sys.exit' sys.exit(0)
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) loop()
def works(self, r): print "reusing worked, result:", r later(3, self.retry)
def poll(p): print 'poll', p.p.poll(), p.p.returncode later(1.0, poll, p) def closed(e): print 'subprocess closed', e #unloop() def end(): print 'end.' unloop() def status(p): print 'status', p p = Process(['/bin/nc', '-vvn', '127.0.0.1', '50000']) p._on('read', incoming) p._on('readerr', incominge) p._on('close', closed) p.write('abcdef\n') #later(5.0, status, p) later(1.0, poll, p) #later(5.0, writeto, p) #later(5.0, killp, p) #later(7.0, killp, p) later(15.0, end) loop() print 'sys.exit' sys.exit(0)