def request_handler(req): req.pause() filename = '' for i in range(10): filename += string.uppercase[random.randrange(26)] filename += '.uploaded' print "Got request storing in %s" % filename def file_open(err, file): pump = Pump(req, file.write_stream) start_time = datetime.now() def end_handler(stream): def file_close(err, file): end_time = datetime.now() print "Uploaded %d bytes to %s in %s" % ( pump.bytes_pumped, filename, end_time - start_time) req.response.end() file.close(file_close) req.end_handler(end_handler) pump.start() req.resume() FileSystem.open(filename, handler=file_open)
def request_handler(req): req.pause() filename = '' for i in range(10): filename += string.uppercase[random.randrange(26)] filename += '.uploaded' print "Got request storing in %s"% filename def file_open(err, file): pump = Pump(req, file.write_stream) start_time = datetime.now() def end_handler(stream): def file_close(err, file): end_time = datetime.now() print "Uploaded %d bytes to %s in %s"%(pump.bytes_pumped, filename, end_time-start_time) req.response.end() file.close(file_close) req.end_handler(end_handler) pump.start() req.resume() FileSystem.open(filename, handler=file_open)
def test_async_file(self): def open_handler(err, file): tu.check_context() tu.azzert(err == None) num_chunks = 100; chunk_size = 1000; tot_buff = Buffer.create() self.written = 0 for i in range(0, num_chunks): buff = TestUtils.gen_buffer(chunk_size) tot_buff.append_buffer(buff) def write_handler(err, res): tu.check_context() self.written += 1 if self.written == num_chunks: # all written tot_read = Buffer.create() self.read = 0 for j in range(0, num_chunks): pos = j * chunk_size def read_handler(err, buff): tu.check_context tu.azzert(err == None) self.read += 1 if self.read == num_chunks: # all read tu.azzert(TestUtils.buffers_equal(tot_buff, tot_read)) def close_handler(err, res): tu.check_context() tu.test_complete() file.close(close_handler) file.read(tot_read, pos, pos, chunk_size, read_handler) file.write(buff, i * chunk_size, write_handler) FileSystem.open(FILEDIR + "/somefile.txt", handler=open_handler)
def test_async_file_streams(self): filename = FILEDIR + "/somefile.txt" def open_handler(err, file): tu.check_context() tu.azzert(err == None) num_chunks = 100; chunk_size = 1000; tot_buff = Buffer.create() write_stream = file.write_stream for i in range(0, num_chunks): buff = TestUtils.gen_buffer(chunk_size) tot_buff.append_buffer(buff) write_stream.write_buffer(buff) def close_handler(err, file): def open_handler2(err, file): tu.check_context() tu.azzert(err == None) read_stream = file.read_stream tot_read = Buffer.create() def data_handler(data): tot_read.append_buffer(data) read_stream.data_handler(data_handler) def end_handler(stream): tu.azzert(TestUtils.buffers_equal(tot_buff, tot_read)) tu.check_context def close_handler2(err, result): tu.check_context() tu.test_complete() file.close(close_handler2) read_stream.end_handler(end_handler) FileSystem.open(filename, handler=open_handler2) file.close(close_handler) FileSystem.open(filename, handler=open_handler)
def close_handler(err, file): def open_handler2(err, file): tu.check_context() tu.azzert(err == None) read_stream = file.read_stream tot_read = Buffer.create() def data_handler(data): tot_read.append_buffer(data) read_stream.data_handler(data_handler) def end_handler(stream): tu.azzert(TestUtils.buffers_equal(tot_buff, tot_read)) tu.check_context def close_handler2(err, result): tu.check_context() tu.test_complete() file.close(close_handler2) read_stream.end_handler(end_handler) FileSystem.open(filename, handler=open_handler2)
def file_props(err, props): req.put_header("Content-Length", props.size) def open_handler(err, file): rs = file.read_stream pump = Pump(rs, req) def end_handler(stream): req.end() rs.end_handler(end_handler) pump.start() FileSystem.open(filename, handler=open_handler)
def test_async_file(self): def open_handler(err, file): tu.check_context() tu.azzert(err == None) num_chunks = 100 chunk_size = 1000 tot_buff = Buffer.create() self.written = 0 for i in range(0, num_chunks): buff = TestUtils.gen_buffer(chunk_size) tot_buff.append_buffer(buff) def write_handler(err, res): tu.check_context() self.written += 1 if self.written == num_chunks: # all written tot_read = Buffer.create() self.read = 0 for j in range(0, num_chunks): pos = j * chunk_size def read_handler(err, buff): tu.check_context tu.azzert(err == None) self.read += 1 if self.read == num_chunks: # all read tu.azzert( TestUtils.buffers_equal( tot_buff, tot_read)) def close_handler(err, res): tu.check_context() tu.test_complete() file.close(close_handler) file.read(tot_read, pos, pos, chunk_size, read_handler) file.write(buff, i * chunk_size, write_handler) FileSystem.open(FILEDIR + "/somefile.txt", handler=open_handler)
def test_async_file_streams(self): filename = FILEDIR + "/somefile.txt" def open_handler(err, file): tu.check_context() tu.azzert(err == None) num_chunks = 100 chunk_size = 1000 tot_buff = Buffer.create() write_stream = file.write_stream for i in range(0, num_chunks): buff = TestUtils.gen_buffer(chunk_size) tot_buff.append_buffer(buff) write_stream.write_buffer(buff) def close_handler(err, file): def open_handler2(err, file): tu.check_context() tu.azzert(err == None) read_stream = file.read_stream tot_read = Buffer.create() def data_handler(data): tot_read.append_buffer(data) read_stream.data_handler(data_handler) def end_handler(stream): tu.azzert(TestUtils.buffers_equal(tot_buff, tot_read)) tu.check_context def close_handler2(err, result): tu.check_context() tu.test_complete() file.close(close_handler2) read_stream.end_handler(end_handler) FileSystem.open(filename, handler=open_handler2) file.close(close_handler) FileSystem.open(filename, handler=open_handler)