96df9d8323
Starting the C version of rocket
...
Currently, only append_list is written (and hardly tested)
2013-03-03 16:54:11 -05:00
31e2c7c8b4
Add some notes about rocket interface to design.md
2013-03-03 14:43:16 -05:00
2a725ee13f
Add version 1 database format backwards compatibility
2013-03-03 14:37:58 -05:00
eb8037ee3c
Add a description for the rocket interface
2013-03-03 14:13:26 -05:00
fadb84d703
Move ascii formatting into nilmdb thread via rocket interface
2013-03-03 14:12:01 -05:00
9d0d2415be
Test bulkdata a little more carefully
2013-03-03 14:00:00 -05:00
130dae0734
Add extract_string to pyrocket
2013-03-03 13:59:47 -05:00
402234dfc3
Better layout handling in pyrocket
2013-03-03 13:37:02 -05:00
4406d51a98
First pass at Python implementation of rocket
2013-03-03 13:37:02 -05:00
9b6de6ecb7
Replace old layout strings everywhere
2013-03-03 13:37:02 -05:00
c512631184
bulkdata: Build up rows and write to disk all at once
2013-03-03 12:03:44 -05:00
19d27c31bc
Fix streaming requests like stream_extract
2013-03-03 11:37:47 -05:00
28310fe886
Add test for extents
2013-03-02 15:19:25 -05:00
1ccc2bce7e
Add commandline support for listing extents
2013-03-02 15:19:19 -05:00
00237e30b2
Add "extent" option to stream_list in client, server, and nilmdb
2013-03-02 15:18:54 -05:00
521ff88f7c
Support 'nilmtool help command' just like 'nilmtool command --help'
2013-03-02 13:56:03 -05:00
64897a1dd1
Change port from 12380 -> 32180 when running tests
...
This is so tests can be run without interfering with a normal server.
2013-03-02 13:19:44 -05:00
41ce8480bb
cmdline: Support NILMDB_URL environment variable for default URL
2013-03-02 13:18:33 -05:00
204a6ecb15
Optimize bulkdata.append() by postponing flushes & mmap resize
...
Rather than flushing and resizing after each row is written to the
file, have the file object iterate by itself and do all of the
writes. Only flush and resize the mmap after finishing. This should
be pretty safe to do, especially since nothing is concurrent at the
moment.
2013-03-01 16:30:49 -05:00
5db3b186a4
Make test_mustclose more complete
2013-03-01 16:30:22 -05:00
fe640cf421
Remove must_close verification wrappers on bulkdata
...
At this point we know that the close() behavior is correct, so it's
not worth slowing everything down for these checks.
2013-03-01 16:11:44 -05:00
ca67c79fe4
Improve test_layout_speed
2013-03-01 16:04:10 -05:00
8917bcd4bf
Fix test case failures due to increased client chunk size
2013-03-01 16:04:00 -05:00
a75ec98673
Slight speed improvements in layout.pyx
2013-03-01 16:03:38 -05:00
e476338d61
Remove outdated numpy dependency
2013-03-01 16:03:19 -05:00
d752b882f2
Bump up block sizes in client
...
This will help amortize the sqlite synchronization costs.
2013-02-28 21:11:57 -05:00
ade27773e6
Add --nosync option to nilmdb-server script
2013-02-28 20:45:08 -05:00
0c1a1d2388
Fix nilmdb-server script
2013-02-28 18:53:06 -05:00
e3f335dfe5
Move time parsing from cmdline into nilmdb.utils.time
2013-02-28 17:09:26 -05:00
7a191c0ebb
Fix versioneer to update versions on install
2013-02-28 14:50:53 -05:00
55bf11e393
Fix error when pyximport is too old
2013-02-26 22:21:23 -05:00
e90dcd10f3
Update README and setup.py with python-requests dependency
2013-02-26 22:00:42 -05:00
7d44f4eaa0
Cleanup Makefile; make tests run through setup.py when outside emacs
2013-02-26 22:00:42 -05:00
f541432d44
Merge branch 'requests'
2013-02-26 21:59:15 -05:00
aa4e32f78a
Merge branch 'curl-multi'
2013-02-26 21:59:03 -05:00
2bc1416c00
Merge branch 'fixups'
2013-02-26 21:58:55 -05:00
68bbbf757d
Remove nilmdb.utils.urllib
...
python-requests seems to handle UTF-8 just fine.
2013-02-26 19:46:22 -05:00
3df96fdfdd
Reorder code
2013-02-26 19:41:55 -05:00
740ab76eaf
Re-add persistent connection test for Requests based httpclient
2013-02-26 19:41:27 -05:00
ce13a47fea
Save full response object for tests
2013-02-26 17:45:41 -05:00
50a4a60786
Replace pyCurl with Requests
...
Only tested with v1.1.0. It's not clear how well older versions will
work.
2013-02-26 17:45:40 -05:00
14afa02db6
Temporarily remove curl-specific keepalive tests
2013-02-26 17:45:40 -05:00
cc990d6ce4
Test persistent connections
2013-02-26 13:41:40 -05:00
0f5162e0c0
Always use the curl multi interface
...
.. even for non-generator requests
2013-02-26 13:39:33 -05:00
b26cd52f8c
Work around curl multi bug
2013-02-26 13:38:42 -05:00
236d925a1d
Make sure we use POST when requested, even if the body is empty
2013-02-25 21:05:01 -05:00
a4a4bc61ba
Switch to using pycurl.Multi instead of Iteratorizer
2013-02-25 21:05:01 -05:00
3d82888580
Enforce method types, and require POST for actions that change things.
...
This is a pretty big change that will render existing clients unable
to modify the database, but it's important that we use POST or PUT
instead of GET for anything that may change state, in case this
is ever put behind a cache.
2013-02-25 21:05:01 -05:00
749b878904
Add an explicit lock to httpclient's public methods
...
This is to prevent possible reentrancy problems.
2013-02-25 18:06:00 -05:00
f396e3934c
Remove cherrypy version check
...
Dependencies should be handled by installation, not at runtime.
2013-02-25 16:50:19 -05:00